{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "975e146a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8a22371a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the RNN model\n",
    "class RNN(nn.Module):\n",
    "    def __init__(self, input_size, hidden_size, output_size):\n",
    "        super(RNN, self).__init__()\n",
    "\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "        self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)\n",
    "        self.fc = nn.Linear(hidden_size, output_size)\n",
    "\n",
    "    def forward(self, x, hidden):\n",
    "        output, hidden = self.rnn(x, hidden)\n",
    "        output = self.fc(output)\n",
    "        return output, hidden\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7af26c1e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 256)\n",
      "(1, 100)\n",
      "(256, 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('burg.mat')\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['t']\n",
    "u = mat_data['u1']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(x.shape)\n",
    "print(t.shape)\n",
    "print(u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u), np.max(u), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Burgers')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "62ea666e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Toy problem data\n",
    "input_size = 256\n",
    "hidden_size = 32\n",
    "output_size = 256\n",
    "sequence_length = 79\n",
    "batch_size = 1\n",
    "num_epochs = 20000\n",
    "\n",
    "\n",
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n",
    "\n",
    "\n",
    "\n",
    "input_data = u[:,0:79]\n",
    "target_data = u[:,1:80]\n",
    "\n",
    "test_data = u[:,79]\n",
    "test_target = u[:,80:100]\n",
    "\n",
    "\n",
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data.T).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data.T).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data.T).view(batch_size, 1, input_size).float()\n",
    "test_target_tensor = torch.tensor(test_target.T).view(batch_size, 20, output_size).float()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3ca0f418",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/20000, Loss: 0.06343269\n",
      "Epoch: 20/20000, Loss: 0.02951436\n",
      "Epoch: 30/20000, Loss: 0.01273151\n",
      "Epoch: 40/20000, Loss: 0.00627388\n",
      "Epoch: 50/20000, Loss: 0.00415451\n",
      "Epoch: 60/20000, Loss: 0.00346552\n",
      "Epoch: 70/20000, Loss: 0.00286995\n",
      "Epoch: 80/20000, Loss: 0.00246104\n",
      "Epoch: 90/20000, Loss: 0.00208485\n",
      "Epoch: 100/20000, Loss: 0.00204409\n",
      "Epoch: 110/20000, Loss: 0.00260543\n",
      "Epoch: 120/20000, Loss: 0.00165098\n",
      "Epoch: 130/20000, Loss: 0.00112975\n",
      "Epoch: 140/20000, Loss: 0.00090413\n",
      "Epoch: 150/20000, Loss: 0.00077039\n",
      "Epoch: 160/20000, Loss: 0.00067978\n",
      "Epoch: 170/20000, Loss: 0.00061706\n",
      "Epoch: 180/20000, Loss: 0.00057764\n",
      "Epoch: 190/20000, Loss: 0.00054677\n",
      "Epoch: 200/20000, Loss: 0.00052179\n",
      "Epoch: 210/20000, Loss: 0.00050334\n",
      "Epoch: 220/20000, Loss: 0.00197762\n",
      "Epoch: 230/20000, Loss: 0.00088937\n",
      "Epoch: 240/20000, Loss: 0.00064884\n",
      "Epoch: 250/20000, Loss: 0.00046666\n",
      "Epoch: 260/20000, Loss: 0.00041440\n",
      "Epoch: 270/20000, Loss: 0.00038720\n",
      "Epoch: 280/20000, Loss: 0.00035431\n",
      "Epoch: 290/20000, Loss: 0.00032720\n",
      "Epoch: 300/20000, Loss: 0.00030180\n",
      "Epoch: 310/20000, Loss: 0.00027689\n",
      "Epoch: 320/20000, Loss: 0.00025319\n",
      "Epoch: 330/20000, Loss: 0.00023095\n",
      "Epoch: 340/20000, Loss: 0.00021037\n",
      "Epoch: 350/20000, Loss: 0.00019157\n",
      "Epoch: 360/20000, Loss: 0.00018235\n",
      "Epoch: 370/20000, Loss: 0.00025260\n",
      "Epoch: 380/20000, Loss: 0.00025271\n",
      "Epoch: 390/20000, Loss: 0.00020655\n",
      "Epoch: 400/20000, Loss: 0.00017410\n",
      "Epoch: 410/20000, Loss: 0.00014197\n",
      "Epoch: 420/20000, Loss: 0.00012162\n",
      "Epoch: 430/20000, Loss: 0.00011066\n",
      "Epoch: 440/20000, Loss: 0.00010265\n",
      "Epoch: 450/20000, Loss: 0.00009638\n",
      "Epoch: 460/20000, Loss: 0.00009140\n",
      "Epoch: 470/20000, Loss: 0.00008725\n",
      "Epoch: 480/20000, Loss: 0.00008395\n",
      "Epoch: 490/20000, Loss: 0.00011535\n",
      "Epoch: 500/20000, Loss: 0.00010288\n",
      "Epoch: 510/20000, Loss: 0.00014873\n",
      "Epoch: 520/20000, Loss: 0.00009119\n",
      "Epoch: 530/20000, Loss: 0.00007969\n",
      "Epoch: 540/20000, Loss: 0.00007564\n",
      "Epoch: 550/20000, Loss: 0.00007214\n",
      "Epoch: 560/20000, Loss: 0.00007023\n",
      "Epoch: 570/20000, Loss: 0.00006905\n",
      "Epoch: 580/20000, Loss: 0.00006750\n",
      "Epoch: 590/20000, Loss: 0.00006642\n",
      "Epoch: 600/20000, Loss: 0.00006538\n",
      "Epoch: 610/20000, Loss: 0.00006467\n",
      "Epoch: 620/20000, Loss: 0.00011306\n",
      "Epoch: 630/20000, Loss: 0.00011420\n",
      "Epoch: 640/20000, Loss: 0.00010021\n",
      "Epoch: 650/20000, Loss: 0.00008186\n",
      "Epoch: 660/20000, Loss: 0.00006651\n",
      "Epoch: 670/20000, Loss: 0.00006296\n",
      "Epoch: 680/20000, Loss: 0.00005930\n",
      "Epoch: 690/20000, Loss: 0.00005831\n",
      "Epoch: 700/20000, Loss: 0.00005723\n",
      "Epoch: 710/20000, Loss: 0.00005625\n",
      "Epoch: 720/20000, Loss: 0.00005535\n",
      "Epoch: 730/20000, Loss: 0.00005451\n",
      "Epoch: 740/20000, Loss: 0.00005395\n",
      "Epoch: 750/20000, Loss: 0.00008180\n",
      "Epoch: 760/20000, Loss: 0.00021309\n",
      "Epoch: 770/20000, Loss: 0.00008383\n",
      "Epoch: 780/20000, Loss: 0.00006870\n",
      "Epoch: 790/20000, Loss: 0.00006338\n",
      "Epoch: 800/20000, Loss: 0.00005124\n",
      "Epoch: 810/20000, Loss: 0.00004825\n",
      "Epoch: 820/20000, Loss: 0.00004713\n",
      "Epoch: 830/20000, Loss: 0.00004609\n",
      "Epoch: 840/20000, Loss: 0.00004491\n",
      "Epoch: 850/20000, Loss: 0.00004393\n",
      "Epoch: 860/20000, Loss: 0.00004343\n",
      "Epoch: 870/20000, Loss: 0.00009129\n",
      "Epoch: 880/20000, Loss: 0.00008798\n",
      "Epoch: 890/20000, Loss: 0.00004473\n",
      "Epoch: 900/20000, Loss: 0.00005434\n",
      "Epoch: 910/20000, Loss: 0.00004694\n",
      "Epoch: 920/20000, Loss: 0.00004273\n",
      "Epoch: 930/20000, Loss: 0.00013570\n",
      "Epoch: 940/20000, Loss: 0.00008154\n",
      "Epoch: 950/20000, Loss: 0.00004724\n",
      "Epoch: 960/20000, Loss: 0.00003814\n",
      "Epoch: 970/20000, Loss: 0.00003533\n",
      "Epoch: 980/20000, Loss: 0.00003380\n",
      "Epoch: 990/20000, Loss: 0.00003446\n",
      "Epoch: 1000/20000, Loss: 0.00034225\n",
      "Epoch: 1010/20000, Loss: 0.00016839\n",
      "Epoch: 1020/20000, Loss: 0.00004895\n",
      "Epoch: 1030/20000, Loss: 0.00004952\n",
      "Epoch: 1040/20000, Loss: 0.00003059\n",
      "Epoch: 1050/20000, Loss: 0.00003071\n",
      "Epoch: 1060/20000, Loss: 0.00002753\n",
      "Epoch: 1070/20000, Loss: 0.00002606\n",
      "Epoch: 1080/20000, Loss: 0.00002527\n",
      "Epoch: 1090/20000, Loss: 0.00002961\n",
      "Epoch: 1100/20000, Loss: 0.00055176\n",
      "Epoch: 1110/20000, Loss: 0.00009874\n",
      "Epoch: 1120/20000, Loss: 0.00005961\n",
      "Epoch: 1130/20000, Loss: 0.00004085\n",
      "Epoch: 1140/20000, Loss: 0.00003958\n",
      "Epoch: 1150/20000, Loss: 0.00013906\n",
      "Epoch: 1160/20000, Loss: 0.00002901\n",
      "Epoch: 1170/20000, Loss: 0.00002528\n",
      "Epoch: 1180/20000, Loss: 0.00002725\n",
      "Epoch: 1190/20000, Loss: 0.00002279\n",
      "Epoch: 1200/20000, Loss: 0.00002404\n",
      "Epoch: 1210/20000, Loss: 0.00004124\n",
      "Epoch: 1220/20000, Loss: 0.00016593\n",
      "Epoch: 1230/20000, Loss: 0.00005809\n",
      "Epoch: 1240/20000, Loss: 0.00002544\n",
      "Epoch: 1250/20000, Loss: 0.00002761\n",
      "Epoch: 1260/20000, Loss: 0.00002150\n",
      "Epoch: 1270/20000, Loss: 0.00003196\n",
      "Epoch: 1280/20000, Loss: 0.00018059\n",
      "Epoch: 1290/20000, Loss: 0.00009085\n",
      "Epoch: 1300/20000, Loss: 0.00005540\n",
      "Epoch: 1310/20000, Loss: 0.00002098\n",
      "Epoch: 1320/20000, Loss: 0.00001932\n",
      "Epoch: 1330/20000, Loss: 0.00007946\n",
      "Epoch: 1340/20000, Loss: 0.00004025\n",
      "Epoch: 1350/20000, Loss: 0.00012585\n",
      "Epoch: 1360/20000, Loss: 0.00003923\n",
      "Epoch: 1370/20000, Loss: 0.00005055\n",
      "Epoch: 1380/20000, Loss: 0.00002539\n",
      "Epoch: 1390/20000, Loss: 0.00001718\n",
      "Epoch: 1400/20000, Loss: 0.00001528\n",
      "Epoch: 1410/20000, Loss: 0.00001521\n",
      "Epoch: 1420/20000, Loss: 0.00002333\n",
      "Epoch: 1430/20000, Loss: 0.00025946\n",
      "Epoch: 1440/20000, Loss: 0.00007219\n",
      "Epoch: 1450/20000, Loss: 0.00004434\n",
      "Epoch: 1460/20000, Loss: 0.00023983\n",
      "Epoch: 1470/20000, Loss: 0.00010547\n",
      "Epoch: 1480/20000, Loss: 0.00004869\n",
      "Epoch: 1490/20000, Loss: 0.00001906\n",
      "Epoch: 1500/20000, Loss: 0.00001923\n",
      "Epoch: 1510/20000, Loss: 0.00002742\n",
      "Epoch: 1520/20000, Loss: 0.00017967\n",
      "Epoch: 1530/20000, Loss: 0.00006138\n",
      "Epoch: 1540/20000, Loss: 0.00001678\n",
      "Epoch: 1550/20000, Loss: 0.00001719\n",
      "Epoch: 1560/20000, Loss: 0.00007339\n",
      "Epoch: 1570/20000, Loss: 0.00005641\n",
      "Epoch: 1580/20000, Loss: 0.00007062\n",
      "Epoch: 1590/20000, Loss: 0.00004462\n",
      "Epoch: 1600/20000, Loss: 0.00003063\n",
      "Epoch: 1610/20000, Loss: 0.00003693\n",
      "Epoch: 1620/20000, Loss: 0.00008034\n",
      "Epoch: 1630/20000, Loss: 0.00002036\n",
      "Epoch: 1640/20000, Loss: 0.00002400\n",
      "Epoch: 1650/20000, Loss: 0.00011879\n",
      "Epoch: 1660/20000, Loss: 0.00010929\n",
      "Epoch: 1670/20000, Loss: 0.00004590\n",
      "Epoch: 1680/20000, Loss: 0.00002265\n",
      "Epoch: 1690/20000, Loss: 0.00003506\n",
      "Epoch: 1700/20000, Loss: 0.00014374\n",
      "Epoch: 1710/20000, Loss: 0.00002255\n",
      "Epoch: 1720/20000, Loss: 0.00002376\n",
      "Epoch: 1730/20000, Loss: 0.00009374\n",
      "Epoch: 1740/20000, Loss: 0.00009113\n",
      "Epoch: 1750/20000, Loss: 0.00009401\n",
      "Epoch: 1760/20000, Loss: 0.00002252\n",
      "Epoch: 1770/20000, Loss: 0.00003038\n",
      "Epoch: 1780/20000, Loss: 0.00001469\n",
      "Epoch: 1790/20000, Loss: 0.00001982\n",
      "Epoch: 1800/20000, Loss: 0.00003099\n",
      "Epoch: 1810/20000, Loss: 0.00010711\n",
      "Epoch: 1820/20000, Loss: 0.00027765\n",
      "Epoch: 1830/20000, Loss: 0.00025608\n",
      "Epoch: 1840/20000, Loss: 0.00003772\n",
      "Epoch: 1850/20000, Loss: 0.00005176\n",
      "Epoch: 1860/20000, Loss: 0.00002489\n",
      "Epoch: 1870/20000, Loss: 0.00001475\n",
      "Epoch: 1880/20000, Loss: 0.00001392\n",
      "Epoch: 1890/20000, Loss: 0.00001275\n",
      "Epoch: 1900/20000, Loss: 0.00001287\n",
      "Epoch: 1910/20000, Loss: 0.00005096\n",
      "Epoch: 1920/20000, Loss: 0.00029311\n",
      "Epoch: 1930/20000, Loss: 0.00016490\n",
      "Epoch: 1940/20000, Loss: 0.00007524\n",
      "Epoch: 1950/20000, Loss: 0.00002701\n",
      "Epoch: 1960/20000, Loss: 0.00001642\n",
      "Epoch: 1970/20000, Loss: 0.00001432\n",
      "Epoch: 1980/20000, Loss: 0.00001298\n",
      "Epoch: 1990/20000, Loss: 0.00001187\n",
      "Epoch: 2000/20000, Loss: 0.00001188\n",
      "Epoch: 2010/20000, Loss: 0.00003650\n",
      "Epoch: 2020/20000, Loss: 0.00059347\n",
      "Epoch: 2030/20000, Loss: 0.00013682\n",
      "Epoch: 2040/20000, Loss: 0.00006439\n",
      "Epoch: 2050/20000, Loss: 0.00002274\n",
      "Epoch: 2060/20000, Loss: 0.00001886\n",
      "Epoch: 2070/20000, Loss: 0.00001436\n",
      "Epoch: 2080/20000, Loss: 0.00001254\n",
      "Epoch: 2090/20000, Loss: 0.00001364\n",
      "Epoch: 2100/20000, Loss: 0.00010149\n",
      "Epoch: 2110/20000, Loss: 0.00004669\n",
      "Epoch: 2120/20000, Loss: 0.00006051\n",
      "Epoch: 2130/20000, Loss: 0.00002999\n",
      "Epoch: 2140/20000, Loss: 0.00006687\n",
      "Epoch: 2150/20000, Loss: 0.00011130\n",
      "Epoch: 2160/20000, Loss: 0.00004391\n",
      "Epoch: 2170/20000, Loss: 0.00002003\n",
      "Epoch: 2180/20000, Loss: 0.00001591\n",
      "Epoch: 2190/20000, Loss: 0.00001237\n",
      "Epoch: 2200/20000, Loss: 0.00001058\n",
      "Epoch: 2210/20000, Loss: 0.00001296\n",
      "Epoch: 2220/20000, Loss: 0.00016661\n",
      "Epoch: 2230/20000, Loss: 0.00051018\n",
      "Epoch: 2240/20000, Loss: 0.00044007\n",
      "Epoch: 2250/20000, Loss: 0.00011932\n",
      "Epoch: 2260/20000, Loss: 0.00003914\n",
      "Epoch: 2270/20000, Loss: 0.00002404\n",
      "Epoch: 2280/20000, Loss: 0.00001727\n",
      "Epoch: 2290/20000, Loss: 0.00001355\n",
      "Epoch: 2300/20000, Loss: 0.00001222\n",
      "Epoch: 2310/20000, Loss: 0.00001164\n",
      "Epoch: 2320/20000, Loss: 0.00001497\n",
      "Epoch: 2330/20000, Loss: 0.00015364\n",
      "Epoch: 2340/20000, Loss: 0.00012615\n",
      "Epoch: 2350/20000, Loss: 0.00005617\n",
      "Epoch: 2360/20000, Loss: 0.00004224\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 2370/20000, Loss: 0.00003115\n",
      "Epoch: 2380/20000, Loss: 0.00009042\n",
      "Epoch: 2390/20000, Loss: 0.00005809\n",
      "Epoch: 2400/20000, Loss: 0.00003297\n",
      "Epoch: 2410/20000, Loss: 0.00001092\n",
      "Epoch: 2420/20000, Loss: 0.00001567\n",
      "Epoch: 2430/20000, Loss: 0.00001473\n",
      "Epoch: 2440/20000, Loss: 0.00002588\n",
      "Epoch: 2450/20000, Loss: 0.00018063\n",
      "Epoch: 2460/20000, Loss: 0.00012451\n",
      "Epoch: 2470/20000, Loss: 0.00005258\n",
      "Epoch: 2480/20000, Loss: 0.00001964\n",
      "Epoch: 2490/20000, Loss: 0.00001335\n",
      "Epoch: 2500/20000, Loss: 0.00001348\n",
      "Epoch: 2510/20000, Loss: 0.00001129\n",
      "Epoch: 2520/20000, Loss: 0.00001193\n",
      "Epoch: 2530/20000, Loss: 0.00004733\n",
      "Epoch: 2540/20000, Loss: 0.00027635\n",
      "Epoch: 2550/20000, Loss: 0.00027121\n",
      "Epoch: 2560/20000, Loss: 0.00012574\n",
      "Epoch: 2570/20000, Loss: 0.00004208\n",
      "Epoch: 2580/20000, Loss: 0.00002303\n",
      "Epoch: 2590/20000, Loss: 0.00001333\n",
      "Epoch: 2600/20000, Loss: 0.00001112\n",
      "Epoch: 2610/20000, Loss: 0.00001204\n",
      "Epoch: 2620/20000, Loss: 0.00003998\n",
      "Epoch: 2630/20000, Loss: 0.00030627\n",
      "Epoch: 2640/20000, Loss: 0.00005409\n",
      "Epoch: 2650/20000, Loss: 0.00003219\n",
      "Epoch: 2660/20000, Loss: 0.00001530\n",
      "Epoch: 2670/20000, Loss: 0.00001290\n",
      "Epoch: 2680/20000, Loss: 0.00005992\n",
      "Epoch: 2690/20000, Loss: 0.00012852\n",
      "Epoch: 2700/20000, Loss: 0.00009323\n",
      "Epoch: 2710/20000, Loss: 0.00003495\n",
      "Epoch: 2720/20000, Loss: 0.00002159\n",
      "Epoch: 2730/20000, Loss: 0.00001109\n",
      "Epoch: 2740/20000, Loss: 0.00000889\n",
      "Epoch: 2750/20000, Loss: 0.00001217\n",
      "Epoch: 2760/20000, Loss: 0.00020361\n",
      "Epoch: 2770/20000, Loss: 0.00014997\n",
      "Epoch: 2780/20000, Loss: 0.00007334\n",
      "Epoch: 2790/20000, Loss: 0.00009175\n",
      "Epoch: 2800/20000, Loss: 0.00005361\n",
      "Epoch: 2810/20000, Loss: 0.00001596\n",
      "Epoch: 2820/20000, Loss: 0.00001935\n",
      "Epoch: 2830/20000, Loss: 0.00002418\n",
      "Epoch: 2840/20000, Loss: 0.00012598\n",
      "Epoch: 2850/20000, Loss: 0.00007072\n",
      "Epoch: 2860/20000, Loss: 0.00002210\n",
      "Epoch: 2870/20000, Loss: 0.00002626\n",
      "Epoch: 2880/20000, Loss: 0.00011544\n",
      "Epoch: 2890/20000, Loss: 0.00004308\n",
      "Epoch: 2900/20000, Loss: 0.00001378\n",
      "Epoch: 2910/20000, Loss: 0.00001120\n",
      "Epoch: 2920/20000, Loss: 0.00002313\n",
      "Epoch: 2930/20000, Loss: 0.00013539\n",
      "Epoch: 2940/20000, Loss: 0.00010308\n",
      "Epoch: 2950/20000, Loss: 0.00008863\n",
      "Epoch: 2960/20000, Loss: 0.00019627\n",
      "Epoch: 2970/20000, Loss: 0.00005614\n",
      "Epoch: 2980/20000, Loss: 0.00003374\n",
      "Epoch: 2990/20000, Loss: 0.00003629\n",
      "Epoch: 3000/20000, Loss: 0.00012502\n",
      "Epoch: 3010/20000, Loss: 0.00002020\n",
      "Epoch: 3020/20000, Loss: 0.00003991\n",
      "Epoch: 3030/20000, Loss: 0.00001058\n",
      "Epoch: 3040/20000, Loss: 0.00003513\n",
      "Epoch: 3050/20000, Loss: 0.00014609\n",
      "Epoch: 3060/20000, Loss: 0.00019329\n",
      "Epoch: 3070/20000, Loss: 0.00008841\n",
      "Epoch: 3080/20000, Loss: 0.00006359\n",
      "Epoch: 3090/20000, Loss: 0.00007095\n",
      "Epoch: 3100/20000, Loss: 0.00005717\n",
      "Epoch: 3110/20000, Loss: 0.00001729\n",
      "Epoch: 3120/20000, Loss: 0.00003141\n",
      "Epoch: 3130/20000, Loss: 0.00003707\n",
      "Epoch: 3140/20000, Loss: 0.00001676\n",
      "Epoch: 3150/20000, Loss: 0.00007346\n",
      "Epoch: 3160/20000, Loss: 0.00048394\n",
      "Epoch: 3170/20000, Loss: 0.00018136\n",
      "Epoch: 3180/20000, Loss: 0.00006808\n",
      "Epoch: 3190/20000, Loss: 0.00070142\n",
      "Epoch: 3200/20000, Loss: 0.00015007\n",
      "Epoch: 3210/20000, Loss: 0.00006580\n",
      "Epoch: 3220/20000, Loss: 0.00003102\n",
      "Epoch: 3230/20000, Loss: 0.00001630\n",
      "Epoch: 3240/20000, Loss: 0.00000949\n",
      "Epoch: 3250/20000, Loss: 0.00000840\n",
      "Epoch: 3260/20000, Loss: 0.00001785\n",
      "Epoch: 3270/20000, Loss: 0.00013195\n",
      "Epoch: 3280/20000, Loss: 0.00006741\n",
      "Epoch: 3290/20000, Loss: 0.00001100\n",
      "Epoch: 3300/20000, Loss: 0.00000806\n",
      "Epoch: 3310/20000, Loss: 0.00000964\n",
      "Epoch: 3320/20000, Loss: 0.00000729\n",
      "Epoch: 3330/20000, Loss: 0.00000666\n",
      "Epoch: 3340/20000, Loss: 0.00004178\n",
      "Epoch: 3350/20000, Loss: 0.00026534\n",
      "Epoch: 3360/20000, Loss: 0.00020550\n",
      "Epoch: 3370/20000, Loss: 0.00004483\n",
      "Epoch: 3380/20000, Loss: 0.00003335\n",
      "Epoch: 3390/20000, Loss: 0.00001375\n",
      "Epoch: 3400/20000, Loss: 0.00001365\n",
      "Epoch: 3410/20000, Loss: 0.00001604\n",
      "Epoch: 3420/20000, Loss: 0.00006248\n",
      "Epoch: 3430/20000, Loss: 0.00022737\n",
      "Epoch: 3440/20000, Loss: 0.00003895\n",
      "Epoch: 3450/20000, Loss: 0.00001764\n",
      "Epoch: 3460/20000, Loss: 0.00002312\n",
      "Epoch: 3470/20000, Loss: 0.00001100\n",
      "Epoch: 3480/20000, Loss: 0.00001183\n",
      "Epoch: 3490/20000, Loss: 0.00005698\n",
      "Epoch: 3500/20000, Loss: 0.00027178\n",
      "Epoch: 3510/20000, Loss: 0.00031613\n",
      "Epoch: 3520/20000, Loss: 0.00006039\n",
      "Epoch: 3530/20000, Loss: 0.00005965\n",
      "Epoch: 3540/20000, Loss: 0.00037952\n",
      "Epoch: 3550/20000, Loss: 0.00009894\n",
      "Epoch: 3560/20000, Loss: 0.00003293\n",
      "Epoch: 3570/20000, Loss: 0.00002448\n",
      "Epoch: 3580/20000, Loss: 0.00001168\n",
      "Epoch: 3590/20000, Loss: 0.00000486\n",
      "Epoch: 3600/20000, Loss: 0.00000478\n",
      "Epoch: 3610/20000, Loss: 0.00000719\n",
      "Epoch: 3620/20000, Loss: 0.00015162\n",
      "Epoch: 3630/20000, Loss: 0.00026129\n",
      "Epoch: 3640/20000, Loss: 0.00013506\n",
      "Epoch: 3650/20000, Loss: 0.00003200\n",
      "Epoch: 3660/20000, Loss: 0.00001793\n",
      "Epoch: 3670/20000, Loss: 0.00001033\n",
      "Epoch: 3680/20000, Loss: 0.00000602\n",
      "Epoch: 3690/20000, Loss: 0.00000492\n",
      "Epoch: 3700/20000, Loss: 0.00000464\n",
      "Epoch: 3710/20000, Loss: 0.00000999\n",
      "Epoch: 3720/20000, Loss: 0.00018372\n",
      "Epoch: 3730/20000, Loss: 0.00005164\n",
      "Epoch: 3740/20000, Loss: 0.00004869\n",
      "Epoch: 3750/20000, Loss: 0.00001881\n",
      "Epoch: 3760/20000, Loss: 0.00020478\n",
      "Epoch: 3770/20000, Loss: 0.00015811\n",
      "Epoch: 3780/20000, Loss: 0.00010215\n",
      "Epoch: 3790/20000, Loss: 0.00004440\n",
      "Epoch: 3800/20000, Loss: 0.00001365\n",
      "Epoch: 3810/20000, Loss: 0.00000696\n",
      "Epoch: 3820/20000, Loss: 0.00000530\n",
      "Epoch: 3830/20000, Loss: 0.00000562\n",
      "Epoch: 3840/20000, Loss: 0.00001496\n",
      "Epoch: 3850/20000, Loss: 0.00018732\n",
      "Epoch: 3860/20000, Loss: 0.00009042\n",
      "Epoch: 3870/20000, Loss: 0.00004778\n",
      "Epoch: 3880/20000, Loss: 0.00003553\n",
      "Epoch: 3890/20000, Loss: 0.00000901\n",
      "Epoch: 3900/20000, Loss: 0.00000874\n",
      "Epoch: 3910/20000, Loss: 0.00000575\n",
      "Epoch: 3920/20000, Loss: 0.00001591\n",
      "Epoch: 3930/20000, Loss: 0.00036952\n",
      "Epoch: 3940/20000, Loss: 0.00023199\n",
      "Epoch: 3950/20000, Loss: 0.00014822\n",
      "Epoch: 3960/20000, Loss: 0.00004738\n",
      "Epoch: 3970/20000, Loss: 0.00002788\n",
      "Epoch: 3980/20000, Loss: 0.00001006\n",
      "Epoch: 3990/20000, Loss: 0.00000669\n",
      "Epoch: 4000/20000, Loss: 0.00000539\n",
      "Epoch: 4010/20000, Loss: 0.00000719\n",
      "Epoch: 4020/20000, Loss: 0.00004965\n",
      "Epoch: 4030/20000, Loss: 0.00037367\n",
      "Epoch: 4040/20000, Loss: 0.00010930\n",
      "Epoch: 4050/20000, Loss: 0.00004222\n",
      "Epoch: 4060/20000, Loss: 0.00001899\n",
      "Epoch: 4070/20000, Loss: 0.00000708\n",
      "Epoch: 4080/20000, Loss: 0.00000603\n",
      "Epoch: 4090/20000, Loss: 0.00001043\n",
      "Epoch: 4100/20000, Loss: 0.00011581\n",
      "Epoch: 4110/20000, Loss: 0.00010589\n",
      "Epoch: 4120/20000, Loss: 0.00003708\n",
      "Epoch: 4130/20000, Loss: 0.00004446\n",
      "Epoch: 4140/20000, Loss: 0.00011595\n",
      "Epoch: 4150/20000, Loss: 0.00001998\n",
      "Epoch: 4160/20000, Loss: 0.00003085\n",
      "Epoch: 4170/20000, Loss: 0.00004240\n",
      "Epoch: 4180/20000, Loss: 0.00013505\n",
      "Epoch: 4190/20000, Loss: 0.00014072\n",
      "Epoch: 4200/20000, Loss: 0.00004271\n",
      "Epoch: 4210/20000, Loss: 0.00001758\n",
      "Epoch: 4220/20000, Loss: 0.00002894\n",
      "Epoch: 4230/20000, Loss: 0.00013462\n",
      "Epoch: 4240/20000, Loss: 0.00009041\n",
      "Epoch: 4250/20000, Loss: 0.00004691\n",
      "Epoch: 4260/20000, Loss: 0.00002215\n",
      "Epoch: 4270/20000, Loss: 0.00001929\n",
      "Epoch: 4280/20000, Loss: 0.00003698\n",
      "Epoch: 4290/20000, Loss: 0.00015979\n",
      "Epoch: 4300/20000, Loss: 0.00036097\n",
      "Epoch: 4310/20000, Loss: 0.00013876\n",
      "Epoch: 4320/20000, Loss: 0.00007829\n",
      "Epoch: 4330/20000, Loss: 0.00002398\n",
      "Epoch: 4340/20000, Loss: 0.00001969\n",
      "Epoch: 4350/20000, Loss: 0.00000961\n",
      "Epoch: 4360/20000, Loss: 0.00000541\n",
      "Epoch: 4370/20000, Loss: 0.00001142\n",
      "Epoch: 4380/20000, Loss: 0.00017265\n",
      "Epoch: 4390/20000, Loss: 0.00007432\n",
      "Epoch: 4400/20000, Loss: 0.00003612\n",
      "Epoch: 4410/20000, Loss: 0.00002289\n",
      "Epoch: 4420/20000, Loss: 0.00001160\n",
      "Epoch: 4430/20000, Loss: 0.00000841\n",
      "Epoch: 4440/20000, Loss: 0.00022461\n",
      "Epoch: 4450/20000, Loss: 0.00041642\n",
      "Epoch: 4460/20000, Loss: 0.00012041\n",
      "Epoch: 4470/20000, Loss: 0.00003617\n",
      "Epoch: 4480/20000, Loss: 0.00001447\n",
      "Epoch: 4490/20000, Loss: 0.00000734\n",
      "Epoch: 4500/20000, Loss: 0.00000529\n",
      "Epoch: 4510/20000, Loss: 0.00000889\n",
      "Epoch: 4520/20000, Loss: 0.00010610\n",
      "Epoch: 4530/20000, Loss: 0.00014118\n",
      "Epoch: 4540/20000, Loss: 0.00002805\n",
      "Epoch: 4550/20000, Loss: 0.00002814\n",
      "Epoch: 4560/20000, Loss: 0.00001845\n",
      "Epoch: 4570/20000, Loss: 0.00000914\n",
      "Epoch: 4580/20000, Loss: 0.00001147\n",
      "Epoch: 4590/20000, Loss: 0.00010115\n",
      "Epoch: 4600/20000, Loss: 0.00022099\n",
      "Epoch: 4610/20000, Loss: 0.00011931\n",
      "Epoch: 4620/20000, Loss: 0.00005433\n",
      "Epoch: 4630/20000, Loss: 0.00001419\n",
      "Epoch: 4640/20000, Loss: 0.00002013\n",
      "Epoch: 4650/20000, Loss: 0.00000710\n",
      "Epoch: 4660/20000, Loss: 0.00000644\n",
      "Epoch: 4670/20000, Loss: 0.00000748\n",
      "Epoch: 4680/20000, Loss: 0.00015419\n",
      "Epoch: 4690/20000, Loss: 0.00009575\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 4700/20000, Loss: 0.00056080\n",
      "Epoch: 4710/20000, Loss: 0.00019381\n",
      "Epoch: 4720/20000, Loss: 0.00006862\n",
      "Epoch: 4730/20000, Loss: 0.00002776\n",
      "Epoch: 4740/20000, Loss: 0.00000807\n",
      "Epoch: 4750/20000, Loss: 0.00000388\n",
      "Epoch: 4760/20000, Loss: 0.00000429\n",
      "Epoch: 4770/20000, Loss: 0.00000322\n",
      "Epoch: 4780/20000, Loss: 0.00000389\n",
      "Epoch: 4790/20000, Loss: 0.00002637\n",
      "Epoch: 4800/20000, Loss: 0.00017262\n",
      "Epoch: 4810/20000, Loss: 0.00038777\n",
      "Epoch: 4820/20000, Loss: 0.00010474\n",
      "Epoch: 4830/20000, Loss: 0.00005878\n",
      "Epoch: 4840/20000, Loss: 0.00003035\n",
      "Epoch: 4850/20000, Loss: 0.00001594\n",
      "Epoch: 4860/20000, Loss: 0.00000553\n",
      "Epoch: 4870/20000, Loss: 0.00000433\n",
      "Epoch: 4880/20000, Loss: 0.00001080\n",
      "Epoch: 4890/20000, Loss: 0.00013431\n",
      "Epoch: 4900/20000, Loss: 0.00022404\n",
      "Epoch: 4910/20000, Loss: 0.00010526\n",
      "Epoch: 4920/20000, Loss: 0.00002612\n",
      "Epoch: 4930/20000, Loss: 0.00002120\n",
      "Epoch: 4940/20000, Loss: 0.00001226\n",
      "Epoch: 4950/20000, Loss: 0.00001328\n",
      "Epoch: 4960/20000, Loss: 0.00006151\n",
      "Epoch: 4970/20000, Loss: 0.00018778\n",
      "Epoch: 4980/20000, Loss: 0.00005872\n",
      "Epoch: 4990/20000, Loss: 0.00003589\n",
      "Epoch: 5000/20000, Loss: 0.00001414\n",
      "Epoch: 5010/20000, Loss: 0.00000879\n",
      "Epoch: 5020/20000, Loss: 0.00000796\n",
      "Epoch: 5030/20000, Loss: 0.00018511\n",
      "Epoch: 5040/20000, Loss: 0.00017496\n",
      "Epoch: 5050/20000, Loss: 0.00011373\n",
      "Epoch: 5060/20000, Loss: 0.00004700\n",
      "Epoch: 5070/20000, Loss: 0.00002954\n",
      "Epoch: 5080/20000, Loss: 0.00005143\n",
      "Epoch: 5090/20000, Loss: 0.00000953\n",
      "Epoch: 5100/20000, Loss: 0.00000945\n",
      "Epoch: 5110/20000, Loss: 0.00001032\n",
      "Epoch: 5120/20000, Loss: 0.00002451\n",
      "Epoch: 5130/20000, Loss: 0.00019587\n",
      "Epoch: 5140/20000, Loss: 0.00003703\n",
      "Epoch: 5150/20000, Loss: 0.00014957\n",
      "Epoch: 5160/20000, Loss: 0.00005272\n",
      "Epoch: 5170/20000, Loss: 0.00002098\n",
      "Epoch: 5180/20000, Loss: 0.00001501\n",
      "Epoch: 5190/20000, Loss: 0.00001542\n",
      "Epoch: 5200/20000, Loss: 0.00002207\n",
      "Epoch: 5210/20000, Loss: 0.00006178\n",
      "Epoch: 5220/20000, Loss: 0.00032981\n",
      "Epoch: 5230/20000, Loss: 0.00005927\n",
      "Epoch: 5240/20000, Loss: 0.00017792\n",
      "Epoch: 5250/20000, Loss: 0.00002682\n",
      "Epoch: 5260/20000, Loss: 0.00003044\n",
      "Epoch: 5270/20000, Loss: 0.00002870\n",
      "Epoch: 5280/20000, Loss: 0.00004992\n",
      "Epoch: 5290/20000, Loss: 0.00014007\n",
      "Epoch: 5300/20000, Loss: 0.00000359\n",
      "Epoch: 5310/20000, Loss: 0.00002506\n",
      "Epoch: 5320/20000, Loss: 0.00008696\n",
      "Epoch: 5330/20000, Loss: 0.00006748\n",
      "Epoch: 5340/20000, Loss: 0.00004874\n",
      "Epoch: 5350/20000, Loss: 0.00003503\n",
      "Epoch: 5360/20000, Loss: 0.00007321\n",
      "Epoch: 5370/20000, Loss: 0.00017435\n",
      "Epoch: 5380/20000, Loss: 0.00002447\n",
      "Epoch: 5390/20000, Loss: 0.00003883\n",
      "Epoch: 5400/20000, Loss: 0.00006397\n",
      "Epoch: 5410/20000, Loss: 0.00009841\n",
      "Epoch: 5420/20000, Loss: 0.00005943\n",
      "Epoch: 5430/20000, Loss: 0.00003092\n",
      "Epoch: 5440/20000, Loss: 0.00034040\n",
      "Epoch: 5450/20000, Loss: 0.00014291\n",
      "Epoch: 5460/20000, Loss: 0.00019231\n",
      "Epoch: 5470/20000, Loss: 0.00009723\n",
      "Epoch: 5480/20000, Loss: 0.00003387\n",
      "Epoch: 5490/20000, Loss: 0.00001753\n",
      "Epoch: 5500/20000, Loss: 0.00000662\n",
      "Epoch: 5510/20000, Loss: 0.00000333\n",
      "Epoch: 5520/20000, Loss: 0.00000353\n",
      "Epoch: 5530/20000, Loss: 0.00002420\n",
      "Epoch: 5540/20000, Loss: 0.00059348\n",
      "Epoch: 5550/20000, Loss: 0.00017122\n",
      "Epoch: 5560/20000, Loss: 0.00005187\n",
      "Epoch: 5570/20000, Loss: 0.00003976\n",
      "Epoch: 5580/20000, Loss: 0.00000813\n",
      "Epoch: 5590/20000, Loss: 0.00000674\n",
      "Epoch: 5600/20000, Loss: 0.00000395\n",
      "Epoch: 5610/20000, Loss: 0.00000308\n",
      "Epoch: 5620/20000, Loss: 0.00000394\n",
      "Epoch: 5630/20000, Loss: 0.00001941\n",
      "Epoch: 5640/20000, Loss: 0.00052660\n",
      "Epoch: 5650/20000, Loss: 0.00012370\n",
      "Epoch: 5660/20000, Loss: 0.00005429\n",
      "Epoch: 5670/20000, Loss: 0.00001983\n",
      "Epoch: 5680/20000, Loss: 0.00000791\n",
      "Epoch: 5690/20000, Loss: 0.00000440\n",
      "Epoch: 5700/20000, Loss: 0.00000316\n",
      "Epoch: 5710/20000, Loss: 0.00000440\n",
      "Epoch: 5720/20000, Loss: 0.00007265\n",
      "Epoch: 5730/20000, Loss: 0.00044509\n",
      "Epoch: 5740/20000, Loss: 0.00014796\n",
      "Epoch: 5750/20000, Loss: 0.00002872\n",
      "Epoch: 5760/20000, Loss: 0.00001020\n",
      "Epoch: 5770/20000, Loss: 0.00000906\n",
      "Epoch: 5780/20000, Loss: 0.00000469\n",
      "Epoch: 5790/20000, Loss: 0.00000316\n",
      "Epoch: 5800/20000, Loss: 0.00000617\n",
      "Epoch: 5810/20000, Loss: 0.00014994\n",
      "Epoch: 5820/20000, Loss: 0.00003401\n",
      "Epoch: 5830/20000, Loss: 0.00003265\n",
      "Epoch: 5840/20000, Loss: 0.00002498\n",
      "Epoch: 5850/20000, Loss: 0.00002526\n",
      "Epoch: 5860/20000, Loss: 0.00009542\n",
      "Epoch: 5870/20000, Loss: 0.00011082\n",
      "Epoch: 5880/20000, Loss: 0.00001792\n",
      "Epoch: 5890/20000, Loss: 0.00004210\n",
      "Epoch: 5900/20000, Loss: 0.00002309\n",
      "Epoch: 5910/20000, Loss: 0.00002886\n",
      "Epoch: 5920/20000, Loss: 0.00011310\n",
      "Epoch: 5930/20000, Loss: 0.00019515\n",
      "Epoch: 5940/20000, Loss: 0.00017326\n",
      "Epoch: 5950/20000, Loss: 0.00008363\n",
      "Epoch: 5960/20000, Loss: 0.00017772\n",
      "Epoch: 5970/20000, Loss: 0.00007676\n",
      "Epoch: 5980/20000, Loss: 0.00003245\n",
      "Epoch: 5990/20000, Loss: 0.00001920\n",
      "Epoch: 6000/20000, Loss: 0.00000542\n",
      "Epoch: 6010/20000, Loss: 0.00000349\n",
      "Epoch: 6020/20000, Loss: 0.00001722\n",
      "Epoch: 6030/20000, Loss: 0.00018447\n",
      "Epoch: 6040/20000, Loss: 0.00020720\n",
      "Epoch: 6050/20000, Loss: 0.00014322\n",
      "Epoch: 6060/20000, Loss: 0.00013529\n",
      "Epoch: 6070/20000, Loss: 0.00002793\n",
      "Epoch: 6080/20000, Loss: 0.00002830\n",
      "Epoch: 6090/20000, Loss: 0.00004956\n",
      "Epoch: 6100/20000, Loss: 0.00004449\n",
      "Epoch: 6110/20000, Loss: 0.00003355\n",
      "Epoch: 6120/20000, Loss: 0.00005813\n",
      "Epoch: 6130/20000, Loss: 0.00015204\n",
      "Epoch: 6140/20000, Loss: 0.00006461\n",
      "Epoch: 6150/20000, Loss: 0.00004975\n",
      "Epoch: 6160/20000, Loss: 0.00020980\n",
      "Epoch: 6170/20000, Loss: 0.00005683\n",
      "Epoch: 6180/20000, Loss: 0.00002814\n",
      "Epoch: 6190/20000, Loss: 0.00001550\n",
      "Epoch: 6200/20000, Loss: 0.00001879\n",
      "Epoch: 6210/20000, Loss: 0.00009508\n",
      "Epoch: 6220/20000, Loss: 0.00016494\n",
      "Epoch: 6230/20000, Loss: 0.00004475\n",
      "Epoch: 6240/20000, Loss: 0.00002152\n",
      "Epoch: 6250/20000, Loss: 0.00001286\n",
      "Epoch: 6260/20000, Loss: 0.00002407\n",
      "Epoch: 6270/20000, Loss: 0.00005688\n",
      "Epoch: 6280/20000, Loss: 0.00014288\n",
      "Epoch: 6290/20000, Loss: 0.00010075\n",
      "Epoch: 6300/20000, Loss: 0.00032668\n",
      "Epoch: 6310/20000, Loss: 0.00021484\n",
      "Epoch: 6320/20000, Loss: 0.00010586\n",
      "Epoch: 6330/20000, Loss: 0.00001844\n",
      "Epoch: 6340/20000, Loss: 0.00001042\n",
      "Epoch: 6350/20000, Loss: 0.00000540\n",
      "Epoch: 6360/20000, Loss: 0.00000285\n",
      "Epoch: 6370/20000, Loss: 0.00000247\n",
      "Epoch: 6380/20000, Loss: 0.00001132\n",
      "Epoch: 6390/20000, Loss: 0.00032106\n",
      "Epoch: 6400/20000, Loss: 0.00007904\n",
      "Epoch: 6410/20000, Loss: 0.00004786\n",
      "Epoch: 6420/20000, Loss: 0.00003960\n",
      "Epoch: 6430/20000, Loss: 0.00001762\n",
      "Epoch: 6440/20000, Loss: 0.00000722\n",
      "Epoch: 6450/20000, Loss: 0.00000590\n",
      "Epoch: 6460/20000, Loss: 0.00000268\n",
      "Epoch: 6470/20000, Loss: 0.00000469\n",
      "Epoch: 6480/20000, Loss: 0.00002718\n",
      "Epoch: 6490/20000, Loss: 0.00018272\n",
      "Epoch: 6500/20000, Loss: 0.00039864\n",
      "Epoch: 6510/20000, Loss: 0.00014696\n",
      "Epoch: 6520/20000, Loss: 0.00002138\n",
      "Epoch: 6530/20000, Loss: 0.00001380\n",
      "Epoch: 6540/20000, Loss: 0.00002109\n",
      "Epoch: 6550/20000, Loss: 0.00012257\n",
      "Epoch: 6560/20000, Loss: 0.00004527\n",
      "Epoch: 6570/20000, Loss: 0.00003702\n",
      "Epoch: 6580/20000, Loss: 0.00001173\n",
      "Epoch: 6590/20000, Loss: 0.00000328\n",
      "Epoch: 6600/20000, Loss: 0.00000739\n",
      "Epoch: 6610/20000, Loss: 0.00004196\n",
      "Epoch: 6620/20000, Loss: 0.00047199\n",
      "Epoch: 6630/20000, Loss: 0.00015634\n",
      "Epoch: 6640/20000, Loss: 0.00005470\n",
      "Epoch: 6650/20000, Loss: 0.00004502\n",
      "Epoch: 6660/20000, Loss: 0.00004766\n",
      "Epoch: 6670/20000, Loss: 0.00001774\n",
      "Epoch: 6680/20000, Loss: 0.00000317\n",
      "Epoch: 6690/20000, Loss: 0.00000525\n",
      "Epoch: 6700/20000, Loss: 0.00000523\n",
      "Epoch: 6710/20000, Loss: 0.00008257\n",
      "Epoch: 6720/20000, Loss: 0.00006378\n",
      "Epoch: 6730/20000, Loss: 0.00004342\n",
      "Epoch: 6740/20000, Loss: 0.00042669\n",
      "Epoch: 6750/20000, Loss: 0.00027369\n",
      "Epoch: 6760/20000, Loss: 0.00006054\n",
      "Epoch: 6770/20000, Loss: 0.00002360\n",
      "Epoch: 6780/20000, Loss: 0.00001041\n",
      "Epoch: 6790/20000, Loss: 0.00000287\n",
      "Epoch: 6800/20000, Loss: 0.00000219\n",
      "Epoch: 6810/20000, Loss: 0.00000170\n",
      "Epoch: 6820/20000, Loss: 0.00000153\n",
      "Epoch: 6830/20000, Loss: 0.00000144\n",
      "Epoch: 6840/20000, Loss: 0.00000288\n",
      "Epoch: 6850/20000, Loss: 0.00003225\n",
      "Epoch: 6860/20000, Loss: 0.00063707\n",
      "Epoch: 6870/20000, Loss: 0.00035817\n",
      "Epoch: 6880/20000, Loss: 0.00009917\n",
      "Epoch: 6890/20000, Loss: 0.00002820\n",
      "Epoch: 6900/20000, Loss: 0.00001049\n",
      "Epoch: 6910/20000, Loss: 0.00000499\n",
      "Epoch: 6920/20000, Loss: 0.00000368\n",
      "Epoch: 6930/20000, Loss: 0.00000492\n",
      "Epoch: 6940/20000, Loss: 0.00004461\n",
      "Epoch: 6950/20000, Loss: 0.00028870\n",
      "Epoch: 6960/20000, Loss: 0.00008235\n",
      "Epoch: 6970/20000, Loss: 0.00000821\n",
      "Epoch: 6980/20000, Loss: 0.00001163\n",
      "Epoch: 6990/20000, Loss: 0.00003800\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7000/20000, Loss: 0.00005286\n",
      "Epoch: 7010/20000, Loss: 0.00002474\n",
      "Epoch: 7020/20000, Loss: 0.00018299\n",
      "Epoch: 7030/20000, Loss: 0.00002367\n",
      "Epoch: 7040/20000, Loss: 0.00007395\n",
      "Epoch: 7050/20000, Loss: 0.00015323\n",
      "Epoch: 7060/20000, Loss: 0.00000762\n",
      "Epoch: 7070/20000, Loss: 0.00001778\n",
      "Epoch: 7080/20000, Loss: 0.00001123\n",
      "Epoch: 7090/20000, Loss: 0.00002011\n",
      "Epoch: 7100/20000, Loss: 0.00006656\n",
      "Epoch: 7110/20000, Loss: 0.00009330\n",
      "Epoch: 7120/20000, Loss: 0.00031972\n",
      "Epoch: 7130/20000, Loss: 0.00013373\n",
      "Epoch: 7140/20000, Loss: 0.00016712\n",
      "Epoch: 7150/20000, Loss: 0.00005037\n",
      "Epoch: 7160/20000, Loss: 0.00003232\n",
      "Epoch: 7170/20000, Loss: 0.00001019\n",
      "Epoch: 7180/20000, Loss: 0.00000586\n",
      "Epoch: 7190/20000, Loss: 0.00000370\n",
      "Epoch: 7200/20000, Loss: 0.00000929\n",
      "Epoch: 7210/20000, Loss: 0.00012539\n",
      "Epoch: 7220/20000, Loss: 0.00021233\n",
      "Epoch: 7230/20000, Loss: 0.00020698\n",
      "Epoch: 7240/20000, Loss: 0.00011316\n",
      "Epoch: 7250/20000, Loss: 0.00007523\n",
      "Epoch: 7260/20000, Loss: 0.00002240\n",
      "Epoch: 7270/20000, Loss: 0.00001114\n",
      "Epoch: 7280/20000, Loss: 0.00000493\n",
      "Epoch: 7290/20000, Loss: 0.00000231\n",
      "Epoch: 7300/20000, Loss: 0.00000369\n",
      "Epoch: 7310/20000, Loss: 0.00004249\n",
      "Epoch: 7320/20000, Loss: 0.00025714\n",
      "Epoch: 7330/20000, Loss: 0.00029787\n",
      "Epoch: 7340/20000, Loss: 0.00007539\n",
      "Epoch: 7350/20000, Loss: 0.00006393\n",
      "Epoch: 7360/20000, Loss: 0.00001854\n",
      "Epoch: 7370/20000, Loss: 0.00000767\n",
      "Epoch: 7380/20000, Loss: 0.00000388\n",
      "Epoch: 7390/20000, Loss: 0.00000246\n",
      "Epoch: 7400/20000, Loss: 0.00000241\n",
      "Epoch: 7410/20000, Loss: 0.00001318\n",
      "Epoch: 7420/20000, Loss: 0.00035206\n",
      "Epoch: 7430/20000, Loss: 0.00005112\n",
      "Epoch: 7440/20000, Loss: 0.00008902\n",
      "Epoch: 7450/20000, Loss: 0.00003531\n",
      "Epoch: 7460/20000, Loss: 0.00000558\n",
      "Epoch: 7470/20000, Loss: 0.00000566\n",
      "Epoch: 7480/20000, Loss: 0.00000493\n",
      "Epoch: 7490/20000, Loss: 0.00001155\n",
      "Epoch: 7500/20000, Loss: 0.00005487\n",
      "Epoch: 7510/20000, Loss: 0.00003969\n",
      "Epoch: 7520/20000, Loss: 0.00001150\n",
      "Epoch: 7530/20000, Loss: 0.00003221\n",
      "Epoch: 7540/20000, Loss: 0.00011376\n",
      "Epoch: 7550/20000, Loss: 0.00026307\n",
      "Epoch: 7560/20000, Loss: 0.00021482\n",
      "Epoch: 7570/20000, Loss: 0.00008413\n",
      "Epoch: 7580/20000, Loss: 0.00003927\n",
      "Epoch: 7590/20000, Loss: 0.00001781\n",
      "Epoch: 7600/20000, Loss: 0.00000941\n",
      "Epoch: 7610/20000, Loss: 0.00000989\n",
      "Epoch: 7620/20000, Loss: 0.00004752\n",
      "Epoch: 7630/20000, Loss: 0.00012856\n",
      "Epoch: 7640/20000, Loss: 0.00007882\n",
      "Epoch: 7650/20000, Loss: 0.00004563\n",
      "Epoch: 7660/20000, Loss: 0.00009367\n",
      "Epoch: 7670/20000, Loss: 0.00020694\n",
      "Epoch: 7680/20000, Loss: 0.00008340\n",
      "Epoch: 7690/20000, Loss: 0.00006610\n",
      "Epoch: 7700/20000, Loss: 0.00002258\n",
      "Epoch: 7710/20000, Loss: 0.00000987\n",
      "Epoch: 7720/20000, Loss: 0.00001402\n",
      "Epoch: 7730/20000, Loss: 0.00014133\n",
      "Epoch: 7740/20000, Loss: 0.00010681\n",
      "Epoch: 7750/20000, Loss: 0.00006596\n",
      "Epoch: 7760/20000, Loss: 0.00004058\n",
      "Epoch: 7770/20000, Loss: 0.00001192\n",
      "Epoch: 7780/20000, Loss: 0.00001499\n",
      "Epoch: 7790/20000, Loss: 0.00004696\n",
      "Epoch: 7800/20000, Loss: 0.00020743\n",
      "Epoch: 7810/20000, Loss: 0.00014791\n",
      "Epoch: 7820/20000, Loss: 0.00007209\n",
      "Epoch: 7830/20000, Loss: 0.00012659\n",
      "Epoch: 7840/20000, Loss: 0.00003481\n",
      "Epoch: 7850/20000, Loss: 0.00002911\n",
      "Epoch: 7860/20000, Loss: 0.00001036\n",
      "Epoch: 7870/20000, Loss: 0.00000357\n",
      "Epoch: 7880/20000, Loss: 0.00000193\n",
      "Epoch: 7890/20000, Loss: 0.00000153\n",
      "Epoch: 7900/20000, Loss: 0.00000522\n",
      "Epoch: 7910/20000, Loss: 0.00024880\n",
      "Epoch: 7920/20000, Loss: 0.00020790\n",
      "Epoch: 7930/20000, Loss: 0.00393110\n",
      "Epoch: 7940/20000, Loss: 0.00269962\n",
      "Epoch: 7950/20000, Loss: 0.00073728\n",
      "Epoch: 7960/20000, Loss: 0.00025133\n",
      "Epoch: 7970/20000, Loss: 0.00008845\n",
      "Epoch: 7980/20000, Loss: 0.00003738\n",
      "Epoch: 7990/20000, Loss: 0.00001615\n",
      "Epoch: 8000/20000, Loss: 0.00000866\n",
      "Epoch: 8010/20000, Loss: 0.00000555\n",
      "Epoch: 8020/20000, Loss: 0.00000463\n",
      "Epoch: 8030/20000, Loss: 0.00000423\n",
      "Epoch: 8040/20000, Loss: 0.00000402\n",
      "Epoch: 8050/20000, Loss: 0.00000390\n",
      "Epoch: 8060/20000, Loss: 0.00000380\n",
      "Epoch: 8070/20000, Loss: 0.00000372\n",
      "Epoch: 8080/20000, Loss: 0.00000364\n",
      "Epoch: 8090/20000, Loss: 0.00000357\n",
      "Epoch: 8100/20000, Loss: 0.00000349\n",
      "Epoch: 8110/20000, Loss: 0.00000342\n",
      "Epoch: 8120/20000, Loss: 0.00000335\n",
      "Epoch: 8130/20000, Loss: 0.00000328\n",
      "Epoch: 8140/20000, Loss: 0.00000321\n",
      "Epoch: 8150/20000, Loss: 0.00000314\n",
      "Epoch: 8160/20000, Loss: 0.00000306\n",
      "Epoch: 8170/20000, Loss: 0.00000299\n",
      "Epoch: 8180/20000, Loss: 0.00000292\n",
      "Epoch: 8190/20000, Loss: 0.00000284\n",
      "Epoch: 8200/20000, Loss: 0.00000276\n",
      "Epoch: 8210/20000, Loss: 0.00000268\n",
      "Epoch: 8220/20000, Loss: 0.00000260\n",
      "Epoch: 8230/20000, Loss: 0.00000255\n",
      "Epoch: 8240/20000, Loss: 0.00000835\n",
      "Epoch: 8250/20000, Loss: 0.00065037\n",
      "Epoch: 8260/20000, Loss: 0.00004080\n",
      "Epoch: 8270/20000, Loss: 0.00002621\n",
      "Epoch: 8280/20000, Loss: 0.00002739\n",
      "Epoch: 8290/20000, Loss: 0.00000365\n",
      "Epoch: 8300/20000, Loss: 0.00000558\n",
      "Epoch: 8310/20000, Loss: 0.00000234\n",
      "Epoch: 8320/20000, Loss: 0.00000237\n",
      "Epoch: 8330/20000, Loss: 0.00000210\n",
      "Epoch: 8340/20000, Loss: 0.00000189\n",
      "Epoch: 8350/20000, Loss: 0.00000180\n",
      "Epoch: 8360/20000, Loss: 0.00000172\n",
      "Epoch: 8370/20000, Loss: 0.00000165\n",
      "Epoch: 8380/20000, Loss: 0.00000159\n",
      "Epoch: 8390/20000, Loss: 0.00000153\n",
      "Epoch: 8400/20000, Loss: 0.00000147\n",
      "Epoch: 8410/20000, Loss: 0.00000142\n",
      "Epoch: 8420/20000, Loss: 0.00000138\n",
      "Epoch: 8430/20000, Loss: 0.00000133\n",
      "Epoch: 8440/20000, Loss: 0.00000138\n",
      "Epoch: 8450/20000, Loss: 0.00001254\n",
      "Epoch: 8460/20000, Loss: 0.00113953\n",
      "Epoch: 8470/20000, Loss: 0.00017534\n",
      "Epoch: 8480/20000, Loss: 0.00010681\n",
      "Epoch: 8490/20000, Loss: 0.00004508\n",
      "Epoch: 8500/20000, Loss: 0.00001399\n",
      "Epoch: 8510/20000, Loss: 0.00000314\n",
      "Epoch: 8520/20000, Loss: 0.00000192\n",
      "Epoch: 8530/20000, Loss: 0.00000215\n",
      "Epoch: 8540/20000, Loss: 0.00000152\n",
      "Epoch: 8550/20000, Loss: 0.00000146\n",
      "Epoch: 8560/20000, Loss: 0.00000187\n",
      "Epoch: 8570/20000, Loss: 0.00001651\n",
      "Epoch: 8580/20000, Loss: 0.00035180\n",
      "Epoch: 8590/20000, Loss: 0.00014965\n",
      "Epoch: 8600/20000, Loss: 0.00005501\n",
      "Epoch: 8610/20000, Loss: 0.00001017\n",
      "Epoch: 8620/20000, Loss: 0.00000142\n",
      "Epoch: 8630/20000, Loss: 0.00000272\n",
      "Epoch: 8640/20000, Loss: 0.00000120\n",
      "Epoch: 8650/20000, Loss: 0.00000124\n",
      "Epoch: 8660/20000, Loss: 0.00000216\n",
      "Epoch: 8670/20000, Loss: 0.00002687\n",
      "Epoch: 8680/20000, Loss: 0.00049604\n",
      "Epoch: 8690/20000, Loss: 0.00016521\n",
      "Epoch: 8700/20000, Loss: 0.00003929\n",
      "Epoch: 8710/20000, Loss: 0.00002901\n",
      "Epoch: 8720/20000, Loss: 0.00001267\n",
      "Epoch: 8730/20000, Loss: 0.00000486\n",
      "Epoch: 8740/20000, Loss: 0.00000265\n",
      "Epoch: 8750/20000, Loss: 0.00000165\n",
      "Epoch: 8760/20000, Loss: 0.00000394\n",
      "Epoch: 8770/20000, Loss: 0.00011928\n",
      "Epoch: 8780/20000, Loss: 0.00019652\n",
      "Epoch: 8790/20000, Loss: 0.00006347\n",
      "Epoch: 8800/20000, Loss: 0.00005753\n",
      "Epoch: 8810/20000, Loss: 0.00001129\n",
      "Epoch: 8820/20000, Loss: 0.00000229\n",
      "Epoch: 8830/20000, Loss: 0.00000298\n",
      "Epoch: 8840/20000, Loss: 0.00000297\n",
      "Epoch: 8850/20000, Loss: 0.00000927\n",
      "Epoch: 8860/20000, Loss: 0.00015500\n",
      "Epoch: 8870/20000, Loss: 0.00007077\n",
      "Epoch: 8880/20000, Loss: 0.00005284\n",
      "Epoch: 8890/20000, Loss: 0.00000522\n",
      "Epoch: 8900/20000, Loss: 0.00000908\n",
      "Epoch: 8910/20000, Loss: 0.00000533\n",
      "Epoch: 8920/20000, Loss: 0.00000537\n",
      "Epoch: 8930/20000, Loss: 0.00001891\n",
      "Epoch: 8940/20000, Loss: 0.00022580\n",
      "Epoch: 8950/20000, Loss: 0.00011395\n",
      "Epoch: 8960/20000, Loss: 0.00000951\n",
      "Epoch: 8970/20000, Loss: 0.00000438\n",
      "Epoch: 8980/20000, Loss: 0.00000414\n",
      "Epoch: 8990/20000, Loss: 0.00000313\n",
      "Epoch: 9000/20000, Loss: 0.00000734\n",
      "Epoch: 9010/20000, Loss: 0.00009901\n",
      "Epoch: 9020/20000, Loss: 0.00030162\n",
      "Epoch: 9030/20000, Loss: 0.00007841\n",
      "Epoch: 9040/20000, Loss: 0.00001314\n",
      "Epoch: 9050/20000, Loss: 0.00000274\n",
      "Epoch: 9060/20000, Loss: 0.00000496\n",
      "Epoch: 9070/20000, Loss: 0.00002609\n",
      "Epoch: 9080/20000, Loss: 0.00018890\n",
      "Epoch: 9090/20000, Loss: 0.00001560\n",
      "Epoch: 9100/20000, Loss: 0.00000496\n",
      "Epoch: 9110/20000, Loss: 0.00002195\n",
      "Epoch: 9120/20000, Loss: 0.00020775\n",
      "Epoch: 9130/20000, Loss: 0.00003946\n",
      "Epoch: 9140/20000, Loss: 0.00001122\n",
      "Epoch: 9150/20000, Loss: 0.00002699\n",
      "Epoch: 9160/20000, Loss: 0.00006141\n",
      "Epoch: 9170/20000, Loss: 0.00002142\n",
      "Epoch: 9180/20000, Loss: 0.00000670\n",
      "Epoch: 9190/20000, Loss: 0.00001099\n",
      "Epoch: 9200/20000, Loss: 0.00006652\n",
      "Epoch: 9210/20000, Loss: 0.00028427\n",
      "Epoch: 9220/20000, Loss: 0.00008854\n",
      "Epoch: 9230/20000, Loss: 0.00000404\n",
      "Epoch: 9240/20000, Loss: 0.00000591\n",
      "Epoch: 9250/20000, Loss: 0.00000937\n",
      "Epoch: 9260/20000, Loss: 0.00000465\n",
      "Epoch: 9270/20000, Loss: 0.00002756\n",
      "Epoch: 9280/20000, Loss: 0.00055685\n",
      "Epoch: 9290/20000, Loss: 0.00024693\n",
      "Epoch: 9300/20000, Loss: 0.00006825\n",
      "Epoch: 9310/20000, Loss: 0.00002685\n",
      "Epoch: 9320/20000, Loss: 0.00001557\n",
      "Epoch: 9330/20000, Loss: 0.00000338\n",
      "Epoch: 9340/20000, Loss: 0.00000400\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 9350/20000, Loss: 0.00000583\n",
      "Epoch: 9360/20000, Loss: 0.00004705\n",
      "Epoch: 9370/20000, Loss: 0.00041944\n",
      "Epoch: 9380/20000, Loss: 0.00012258\n",
      "Epoch: 9390/20000, Loss: 0.00017455\n",
      "Epoch: 9400/20000, Loss: 0.00004287\n",
      "Epoch: 9410/20000, Loss: 0.00001769\n",
      "Epoch: 9420/20000, Loss: 0.00000587\n",
      "Epoch: 9430/20000, Loss: 0.00000425\n",
      "Epoch: 9440/20000, Loss: 0.00001222\n",
      "Epoch: 9450/20000, Loss: 0.00022224\n",
      "Epoch: 9460/20000, Loss: 0.00008426\n",
      "Epoch: 9470/20000, Loss: 0.00004197\n",
      "Epoch: 9480/20000, Loss: 0.00002012\n",
      "Epoch: 9490/20000, Loss: 0.00001280\n",
      "Epoch: 9500/20000, Loss: 0.00000642\n",
      "Epoch: 9510/20000, Loss: 0.00000423\n",
      "Epoch: 9520/20000, Loss: 0.00001208\n",
      "Epoch: 9530/20000, Loss: 0.00014688\n",
      "Epoch: 9540/20000, Loss: 0.00003187\n",
      "Epoch: 9550/20000, Loss: 0.00007578\n",
      "Epoch: 9560/20000, Loss: 0.00013645\n",
      "Epoch: 9570/20000, Loss: 0.00001050\n",
      "Epoch: 9580/20000, Loss: 0.00002099\n",
      "Epoch: 9590/20000, Loss: 0.00000168\n",
      "Epoch: 9600/20000, Loss: 0.00000697\n",
      "Epoch: 9610/20000, Loss: 0.00004448\n",
      "Epoch: 9620/20000, Loss: 0.00041532\n",
      "Epoch: 9630/20000, Loss: 0.00007055\n",
      "Epoch: 9640/20000, Loss: 0.00001545\n",
      "Epoch: 9650/20000, Loss: 0.00000346\n",
      "Epoch: 9660/20000, Loss: 0.00001354\n",
      "Epoch: 9670/20000, Loss: 0.00020317\n",
      "Epoch: 9680/20000, Loss: 0.00003241\n",
      "Epoch: 9690/20000, Loss: 0.00002696\n",
      "Epoch: 9700/20000, Loss: 0.00002245\n",
      "Epoch: 9710/20000, Loss: 0.00001865\n",
      "Epoch: 9720/20000, Loss: 0.00006462\n",
      "Epoch: 9730/20000, Loss: 0.00026482\n",
      "Epoch: 9740/20000, Loss: 0.00002826\n",
      "Epoch: 9750/20000, Loss: 0.00002598\n",
      "Epoch: 9760/20000, Loss: 0.00000954\n",
      "Epoch: 9770/20000, Loss: 0.00001497\n",
      "Epoch: 9780/20000, Loss: 0.00002126\n",
      "Epoch: 9790/20000, Loss: 0.00011766\n",
      "Epoch: 9800/20000, Loss: 0.00017548\n",
      "Epoch: 9810/20000, Loss: 0.00004739\n",
      "Epoch: 9820/20000, Loss: 0.00007808\n",
      "Epoch: 9830/20000, Loss: 0.00002891\n",
      "Epoch: 9840/20000, Loss: 0.00001708\n",
      "Epoch: 9850/20000, Loss: 0.00001597\n",
      "Epoch: 9860/20000, Loss: 0.00014397\n",
      "Epoch: 9870/20000, Loss: 0.00007458\n",
      "Epoch: 9880/20000, Loss: 0.00002960\n",
      "Epoch: 9890/20000, Loss: 0.00001705\n",
      "Epoch: 9900/20000, Loss: 0.00001953\n",
      "Epoch: 9910/20000, Loss: 0.00021835\n",
      "Epoch: 9920/20000, Loss: 0.00008384\n",
      "Epoch: 9930/20000, Loss: 0.00003987\n",
      "Epoch: 9940/20000, Loss: 0.00001845\n",
      "Epoch: 9950/20000, Loss: 0.00000970\n",
      "Epoch: 9960/20000, Loss: 0.00001413\n",
      "Epoch: 9970/20000, Loss: 0.00018703\n",
      "Epoch: 9980/20000, Loss: 0.00011005\n",
      "Epoch: 9990/20000, Loss: 0.00007172\n",
      "Epoch: 10000/20000, Loss: 0.00003158\n",
      "Epoch: 10010/20000, Loss: 0.00000825\n",
      "Epoch: 10020/20000, Loss: 0.00000681\n",
      "Epoch: 10030/20000, Loss: 0.00000276\n",
      "Epoch: 10040/20000, Loss: 0.00000345\n",
      "Epoch: 10050/20000, Loss: 0.00001580\n",
      "Epoch: 10060/20000, Loss: 0.00033026\n",
      "Epoch: 10070/20000, Loss: 0.00007245\n",
      "Epoch: 10080/20000, Loss: 0.00006698\n",
      "Epoch: 10090/20000, Loss: 0.00002913\n",
      "Epoch: 10100/20000, Loss: 0.00001104\n",
      "Epoch: 10110/20000, Loss: 0.00000850\n",
      "Epoch: 10120/20000, Loss: 0.00000362\n",
      "Epoch: 10130/20000, Loss: 0.00000264\n",
      "Epoch: 10140/20000, Loss: 0.00000980\n",
      "Epoch: 10150/20000, Loss: 0.00011471\n",
      "Epoch: 10160/20000, Loss: 0.00005852\n",
      "Epoch: 10170/20000, Loss: 0.00022220\n",
      "Epoch: 10180/20000, Loss: 0.00002555\n",
      "Epoch: 10190/20000, Loss: 0.00002845\n",
      "Epoch: 10200/20000, Loss: 0.00001618\n",
      "Epoch: 10210/20000, Loss: 0.00000560\n",
      "Epoch: 10220/20000, Loss: 0.00000241\n",
      "Epoch: 10230/20000, Loss: 0.00000376\n",
      "Epoch: 10240/20000, Loss: 0.00005314\n",
      "Epoch: 10250/20000, Loss: 0.00058197\n",
      "Epoch: 10260/20000, Loss: 0.00023866\n",
      "Epoch: 10270/20000, Loss: 0.00007937\n",
      "Epoch: 10280/20000, Loss: 0.00002568\n",
      "Epoch: 10290/20000, Loss: 0.00000566\n",
      "Epoch: 10300/20000, Loss: 0.00000503\n",
      "Epoch: 10310/20000, Loss: 0.00000328\n",
      "Epoch: 10320/20000, Loss: 0.00000343\n",
      "Epoch: 10330/20000, Loss: 0.00000831\n",
      "Epoch: 10340/20000, Loss: 0.00007473\n",
      "Epoch: 10350/20000, Loss: 0.00020968\n",
      "Epoch: 10360/20000, Loss: 0.00008786\n",
      "Epoch: 10370/20000, Loss: 0.00011111\n",
      "Epoch: 10380/20000, Loss: 0.00004465\n",
      "Epoch: 10390/20000, Loss: 0.00000687\n",
      "Epoch: 10400/20000, Loss: 0.00001059\n",
      "Epoch: 10410/20000, Loss: 0.00000193\n",
      "Epoch: 10420/20000, Loss: 0.00000142\n",
      "Epoch: 10430/20000, Loss: 0.00000258\n",
      "Epoch: 10440/20000, Loss: 0.00000842\n",
      "Epoch: 10450/20000, Loss: 0.00031999\n",
      "Epoch: 10460/20000, Loss: 0.00004445\n",
      "Epoch: 10470/20000, Loss: 0.00004092\n",
      "Epoch: 10480/20000, Loss: 0.00001966\n",
      "Epoch: 10490/20000, Loss: 0.00000957\n",
      "Epoch: 10500/20000, Loss: 0.00000327\n",
      "Epoch: 10510/20000, Loss: 0.00000216\n",
      "Epoch: 10520/20000, Loss: 0.00000968\n",
      "Epoch: 10530/20000, Loss: 0.00014077\n",
      "Epoch: 10540/20000, Loss: 0.00006108\n",
      "Epoch: 10550/20000, Loss: 0.00012684\n",
      "Epoch: 10560/20000, Loss: 0.00002730\n",
      "Epoch: 10570/20000, Loss: 0.00001268\n",
      "Epoch: 10580/20000, Loss: 0.00000940\n",
      "Epoch: 10590/20000, Loss: 0.00001811\n",
      "Epoch: 10600/20000, Loss: 0.00004994\n",
      "Epoch: 10610/20000, Loss: 0.00011898\n",
      "Epoch: 10620/20000, Loss: 0.00001043\n",
      "Epoch: 10630/20000, Loss: 0.00001384\n",
      "Epoch: 10640/20000, Loss: 0.00002003\n",
      "Epoch: 10650/20000, Loss: 0.00015570\n",
      "Epoch: 10660/20000, Loss: 0.00024775\n",
      "Epoch: 10670/20000, Loss: 0.00007101\n",
      "Epoch: 10680/20000, Loss: 0.00051906\n",
      "Epoch: 10690/20000, Loss: 0.00031674\n",
      "Epoch: 10700/20000, Loss: 0.00006899\n",
      "Epoch: 10710/20000, Loss: 0.00003848\n",
      "Epoch: 10720/20000, Loss: 0.00001200\n",
      "Epoch: 10730/20000, Loss: 0.00000572\n",
      "Epoch: 10740/20000, Loss: 0.00000292\n",
      "Epoch: 10750/20000, Loss: 0.00000250\n",
      "Epoch: 10760/20000, Loss: 0.00000174\n",
      "Epoch: 10770/20000, Loss: 0.00000157\n",
      "Epoch: 10780/20000, Loss: 0.00000276\n",
      "Epoch: 10790/20000, Loss: 0.00000579\n",
      "Epoch: 10800/20000, Loss: 0.00020589\n",
      "Epoch: 10810/20000, Loss: 0.00010795\n",
      "Epoch: 10820/20000, Loss: 0.00006821\n",
      "Epoch: 10830/20000, Loss: 0.00003713\n",
      "Epoch: 10840/20000, Loss: 0.00001141\n",
      "Epoch: 10850/20000, Loss: 0.00000513\n",
      "Epoch: 10860/20000, Loss: 0.00002721\n",
      "Epoch: 10870/20000, Loss: 0.00037867\n",
      "Epoch: 10880/20000, Loss: 0.00009493\n",
      "Epoch: 10890/20000, Loss: 0.00004774\n",
      "Epoch: 10900/20000, Loss: 0.00002710\n",
      "Epoch: 10910/20000, Loss: 0.00000890\n",
      "Epoch: 10920/20000, Loss: 0.00000435\n",
      "Epoch: 10930/20000, Loss: 0.00000270\n",
      "Epoch: 10940/20000, Loss: 0.00000299\n",
      "Epoch: 10950/20000, Loss: 0.00008364\n",
      "Epoch: 10960/20000, Loss: 0.00018751\n",
      "Epoch: 10970/20000, Loss: 0.00011255\n",
      "Epoch: 10980/20000, Loss: 0.00023486\n",
      "Epoch: 10990/20000, Loss: 0.00010158\n",
      "Epoch: 11000/20000, Loss: 0.00004994\n",
      "Epoch: 11010/20000, Loss: 0.00000888\n",
      "Epoch: 11020/20000, Loss: 0.00000667\n",
      "Epoch: 11030/20000, Loss: 0.00000276\n",
      "Epoch: 11040/20000, Loss: 0.00000213\n",
      "Epoch: 11050/20000, Loss: 0.00000148\n",
      "Epoch: 11060/20000, Loss: 0.00000226\n",
      "Epoch: 11070/20000, Loss: 0.00000167\n",
      "Epoch: 11080/20000, Loss: 0.00000800\n",
      "Epoch: 11090/20000, Loss: 0.00004868\n",
      "Epoch: 11100/20000, Loss: 0.00043724\n",
      "Epoch: 11110/20000, Loss: 0.00022941\n",
      "Epoch: 11120/20000, Loss: 0.00007957\n",
      "Epoch: 11130/20000, Loss: 0.00003196\n",
      "Epoch: 11140/20000, Loss: 0.00001432\n",
      "Epoch: 11150/20000, Loss: 0.00000570\n",
      "Epoch: 11160/20000, Loss: 0.00000165\n",
      "Epoch: 11170/20000, Loss: 0.00000350\n",
      "Epoch: 11180/20000, Loss: 0.00002784\n",
      "Epoch: 11190/20000, Loss: 0.00012415\n",
      "Epoch: 11200/20000, Loss: 0.00031772\n",
      "Epoch: 11210/20000, Loss: 0.00011527\n",
      "Epoch: 11220/20000, Loss: 0.00006004\n",
      "Epoch: 11230/20000, Loss: 0.00001816\n",
      "Epoch: 11240/20000, Loss: 0.00001074\n",
      "Epoch: 11250/20000, Loss: 0.00000457\n",
      "Epoch: 11260/20000, Loss: 0.00000148\n",
      "Epoch: 11270/20000, Loss: 0.00000253\n",
      "Epoch: 11280/20000, Loss: 0.00000641\n",
      "Epoch: 11290/20000, Loss: 0.00011569\n",
      "Epoch: 11300/20000, Loss: 0.00025854\n",
      "Epoch: 11310/20000, Loss: 0.00027952\n",
      "Epoch: 11320/20000, Loss: 0.00004181\n",
      "Epoch: 11330/20000, Loss: 0.00011832\n",
      "Epoch: 11340/20000, Loss: 0.00005512\n",
      "Epoch: 11350/20000, Loss: 0.00001248\n",
      "Epoch: 11360/20000, Loss: 0.00002798\n",
      "Epoch: 11370/20000, Loss: 0.00001379\n",
      "Epoch: 11380/20000, Loss: 0.00000283\n",
      "Epoch: 11390/20000, Loss: 0.00000315\n",
      "Epoch: 11400/20000, Loss: 0.00000162\n",
      "Epoch: 11410/20000, Loss: 0.00000153\n",
      "Epoch: 11420/20000, Loss: 0.00000134\n",
      "Epoch: 11430/20000, Loss: 0.00000123\n",
      "Epoch: 11440/20000, Loss: 0.00000140\n",
      "Epoch: 11450/20000, Loss: 0.00001856\n",
      "Epoch: 11460/20000, Loss: 0.00062156\n",
      "Epoch: 11470/20000, Loss: 0.00023069\n",
      "Epoch: 11480/20000, Loss: 0.00004228\n",
      "Epoch: 11490/20000, Loss: 0.00001978\n",
      "Epoch: 11500/20000, Loss: 0.00000993\n",
      "Epoch: 11510/20000, Loss: 0.00000456\n",
      "Epoch: 11520/20000, Loss: 0.00000145\n",
      "Epoch: 11530/20000, Loss: 0.00000178\n",
      "Epoch: 11540/20000, Loss: 0.00000343\n",
      "Epoch: 11550/20000, Loss: 0.00002300\n",
      "Epoch: 11560/20000, Loss: 0.00014448\n",
      "Epoch: 11570/20000, Loss: 0.00004799\n",
      "Epoch: 11580/20000, Loss: 0.00032735\n",
      "Epoch: 11590/20000, Loss: 0.00035792\n",
      "Epoch: 11600/20000, Loss: 0.00004750\n",
      "Epoch: 11610/20000, Loss: 0.00002809\n",
      "Epoch: 11620/20000, Loss: 0.00001342\n",
      "Epoch: 11630/20000, Loss: 0.00000676\n",
      "Epoch: 11640/20000, Loss: 0.00000299\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 11650/20000, Loss: 0.00000183\n",
      "Epoch: 11660/20000, Loss: 0.00000170\n",
      "Epoch: 11670/20000, Loss: 0.00000248\n",
      "Epoch: 11680/20000, Loss: 0.00002295\n",
      "Epoch: 11690/20000, Loss: 0.00025366\n",
      "Epoch: 11700/20000, Loss: 0.00002105\n",
      "Epoch: 11710/20000, Loss: 0.00000408\n",
      "Epoch: 11720/20000, Loss: 0.00000900\n",
      "Epoch: 11730/20000, Loss: 0.00000768\n",
      "Epoch: 11740/20000, Loss: 0.00000156\n",
      "Epoch: 11750/20000, Loss: 0.00000168\n",
      "Epoch: 11760/20000, Loss: 0.00000635\n",
      "Epoch: 11770/20000, Loss: 0.00010263\n",
      "Epoch: 11780/20000, Loss: 0.00033582\n",
      "Epoch: 11790/20000, Loss: 0.00020970\n",
      "Epoch: 11800/20000, Loss: 0.00004871\n",
      "Epoch: 11810/20000, Loss: 0.00003346\n",
      "Epoch: 11820/20000, Loss: 0.00001759\n",
      "Epoch: 11830/20000, Loss: 0.00000634\n",
      "Epoch: 11840/20000, Loss: 0.00000244\n",
      "Epoch: 11850/20000, Loss: 0.00000168\n",
      "Epoch: 11860/20000, Loss: 0.00000168\n",
      "Epoch: 11870/20000, Loss: 0.00000205\n",
      "Epoch: 11880/20000, Loss: 0.00001508\n",
      "Epoch: 11890/20000, Loss: 0.00024696\n",
      "Epoch: 11900/20000, Loss: 0.00008445\n",
      "Epoch: 11910/20000, Loss: 0.00050233\n",
      "Epoch: 11920/20000, Loss: 0.00021406\n",
      "Epoch: 11930/20000, Loss: 0.00002527\n",
      "Epoch: 11940/20000, Loss: 0.00001703\n",
      "Epoch: 11950/20000, Loss: 0.00001144\n",
      "Epoch: 11960/20000, Loss: 0.00000556\n",
      "Epoch: 11970/20000, Loss: 0.00000338\n",
      "Epoch: 11980/20000, Loss: 0.00000284\n",
      "Epoch: 11990/20000, Loss: 0.00001355\n",
      "Epoch: 12000/20000, Loss: 0.00009423\n",
      "Epoch: 12010/20000, Loss: 0.00000717\n",
      "Epoch: 12020/20000, Loss: 0.00001580\n",
      "Epoch: 12030/20000, Loss: 0.00000176\n",
      "Epoch: 12040/20000, Loss: 0.00000817\n",
      "Epoch: 12050/20000, Loss: 0.00003881\n",
      "Epoch: 12060/20000, Loss: 0.00025219\n",
      "Epoch: 12070/20000, Loss: 0.00000530\n",
      "Epoch: 12080/20000, Loss: 0.00001998\n",
      "Epoch: 12090/20000, Loss: 0.00002012\n",
      "Epoch: 12100/20000, Loss: 0.00000128\n",
      "Epoch: 12110/20000, Loss: 0.00000607\n",
      "Epoch: 12120/20000, Loss: 0.00001481\n",
      "Epoch: 12130/20000, Loss: 0.00012434\n",
      "Epoch: 12140/20000, Loss: 0.00029116\n",
      "Epoch: 12150/20000, Loss: 0.00044031\n",
      "Epoch: 12160/20000, Loss: 0.00010549\n",
      "Epoch: 12170/20000, Loss: 0.00015826\n",
      "Epoch: 12180/20000, Loss: 0.00025741\n",
      "Epoch: 12190/20000, Loss: 0.00007323\n",
      "Epoch: 12200/20000, Loss: 0.00002477\n",
      "Epoch: 12210/20000, Loss: 0.00000859\n",
      "Epoch: 12220/20000, Loss: 0.00000313\n",
      "Epoch: 12230/20000, Loss: 0.00000217\n",
      "Epoch: 12240/20000, Loss: 0.00000197\n",
      "Epoch: 12250/20000, Loss: 0.00000151\n",
      "Epoch: 12260/20000, Loss: 0.00000272\n",
      "Epoch: 12270/20000, Loss: 0.00000369\n",
      "Epoch: 12280/20000, Loss: 0.00000151\n",
      "Epoch: 12290/20000, Loss: 0.00000134\n",
      "Epoch: 12300/20000, Loss: 0.00000179\n",
      "Epoch: 12310/20000, Loss: 0.00004355\n",
      "Epoch: 12320/20000, Loss: 0.00065190\n",
      "Epoch: 12330/20000, Loss: 0.00008767\n",
      "Epoch: 12340/20000, Loss: 0.00004684\n",
      "Epoch: 12350/20000, Loss: 0.00000899\n",
      "Epoch: 12360/20000, Loss: 0.00001048\n",
      "Epoch: 12370/20000, Loss: 0.00000291\n",
      "Epoch: 12380/20000, Loss: 0.00000144\n",
      "Epoch: 12390/20000, Loss: 0.00000135\n",
      "Epoch: 12400/20000, Loss: 0.00000121\n",
      "Epoch: 12410/20000, Loss: 0.00000148\n",
      "Epoch: 12420/20000, Loss: 0.00000363\n",
      "Epoch: 12430/20000, Loss: 0.00003334\n",
      "Epoch: 12440/20000, Loss: 0.00010264\n",
      "Epoch: 12450/20000, Loss: 0.00024078\n",
      "Epoch: 12460/20000, Loss: 0.00012109\n",
      "Epoch: 12470/20000, Loss: 0.00036862\n",
      "Epoch: 12480/20000, Loss: 0.00013874\n",
      "Epoch: 12490/20000, Loss: 0.00004488\n",
      "Epoch: 12500/20000, Loss: 0.00001286\n",
      "Epoch: 12510/20000, Loss: 0.00000624\n",
      "Epoch: 12520/20000, Loss: 0.00000313\n",
      "Epoch: 12530/20000, Loss: 0.00000132\n",
      "Epoch: 12540/20000, Loss: 0.00000150\n",
      "Epoch: 12550/20000, Loss: 0.00000158\n",
      "Epoch: 12560/20000, Loss: 0.00000295\n",
      "Epoch: 12570/20000, Loss: 0.00003821\n",
      "Epoch: 12580/20000, Loss: 0.00039894\n",
      "Epoch: 12590/20000, Loss: 0.00016481\n",
      "Epoch: 12600/20000, Loss: 0.00022394\n",
      "Epoch: 12610/20000, Loss: 0.00018781\n",
      "Epoch: 12620/20000, Loss: 0.00028687\n",
      "Epoch: 12630/20000, Loss: 0.00034172\n",
      "Epoch: 12640/20000, Loss: 0.00008070\n",
      "Epoch: 12650/20000, Loss: 0.00002543\n",
      "Epoch: 12660/20000, Loss: 0.00001383\n",
      "Epoch: 12670/20000, Loss: 0.00000587\n",
      "Epoch: 12680/20000, Loss: 0.00000412\n",
      "Epoch: 12690/20000, Loss: 0.00000271\n",
      "Epoch: 12700/20000, Loss: 0.00000223\n",
      "Epoch: 12710/20000, Loss: 0.00000268\n",
      "Epoch: 12720/20000, Loss: 0.00003552\n",
      "Epoch: 12730/20000, Loss: 0.00036062\n",
      "Epoch: 12740/20000, Loss: 0.00010232\n",
      "Epoch: 12750/20000, Loss: 0.00003749\n",
      "Epoch: 12760/20000, Loss: 0.00001144\n",
      "Epoch: 12770/20000, Loss: 0.00000203\n",
      "Epoch: 12780/20000, Loss: 0.00000383\n",
      "Epoch: 12790/20000, Loss: 0.00000173\n",
      "Epoch: 12800/20000, Loss: 0.00000328\n",
      "Epoch: 12810/20000, Loss: 0.00002018\n",
      "Epoch: 12820/20000, Loss: 0.00031981\n",
      "Epoch: 12830/20000, Loss: 0.00014648\n",
      "Epoch: 12840/20000, Loss: 0.00009360\n",
      "Epoch: 12850/20000, Loss: 0.00005530\n",
      "Epoch: 12860/20000, Loss: 0.00000836\n",
      "Epoch: 12870/20000, Loss: 0.00000467\n",
      "Epoch: 12880/20000, Loss: 0.00000305\n",
      "Epoch: 12890/20000, Loss: 0.00000215\n",
      "Epoch: 12900/20000, Loss: 0.00000229\n",
      "Epoch: 12910/20000, Loss: 0.00000332\n",
      "Epoch: 12920/20000, Loss: 0.00002214\n",
      "Epoch: 12930/20000, Loss: 0.00036606\n",
      "Epoch: 12940/20000, Loss: 0.00033494\n",
      "Epoch: 12950/20000, Loss: 0.00002891\n",
      "Epoch: 12960/20000, Loss: 0.00003148\n",
      "Epoch: 12970/20000, Loss: 0.00000918\n",
      "Epoch: 12980/20000, Loss: 0.00000299\n",
      "Epoch: 12990/20000, Loss: 0.00000246\n",
      "Epoch: 13000/20000, Loss: 0.00000187\n",
      "Epoch: 13010/20000, Loss: 0.00000796\n",
      "Epoch: 13020/20000, Loss: 0.00054005\n",
      "Epoch: 13030/20000, Loss: 0.00029450\n",
      "Epoch: 13040/20000, Loss: 0.00009236\n",
      "Epoch: 13050/20000, Loss: 0.00002494\n",
      "Epoch: 13060/20000, Loss: 0.00001807\n",
      "Epoch: 13070/20000, Loss: 0.00000286\n",
      "Epoch: 13080/20000, Loss: 0.00000367\n",
      "Epoch: 13090/20000, Loss: 0.00000219\n",
      "Epoch: 13100/20000, Loss: 0.00000475\n",
      "Epoch: 13110/20000, Loss: 0.00002536\n",
      "Epoch: 13120/20000, Loss: 0.00008343\n",
      "Epoch: 13130/20000, Loss: 0.00000886\n",
      "Epoch: 13140/20000, Loss: 0.00000697\n",
      "Epoch: 13150/20000, Loss: 0.00000630\n",
      "Epoch: 13160/20000, Loss: 0.00003016\n",
      "Epoch: 13170/20000, Loss: 0.00048631\n",
      "Epoch: 13180/20000, Loss: 0.00019522\n",
      "Epoch: 13190/20000, Loss: 0.00006793\n",
      "Epoch: 13200/20000, Loss: 0.00002099\n",
      "Epoch: 13210/20000, Loss: 0.00001220\n",
      "Epoch: 13220/20000, Loss: 0.00001417\n",
      "Epoch: 13230/20000, Loss: 0.00000908\n",
      "Epoch: 13240/20000, Loss: 0.00000831\n",
      "Epoch: 13250/20000, Loss: 0.00028669\n",
      "Epoch: 13260/20000, Loss: 0.00015030\n",
      "Epoch: 13270/20000, Loss: 0.00006657\n",
      "Epoch: 13280/20000, Loss: 0.00000678\n",
      "Epoch: 13290/20000, Loss: 0.00001406\n",
      "Epoch: 13300/20000, Loss: 0.00001431\n",
      "Epoch: 13310/20000, Loss: 0.00005093\n",
      "Epoch: 13320/20000, Loss: 0.00025291\n",
      "Epoch: 13330/20000, Loss: 0.00001910\n",
      "Epoch: 13340/20000, Loss: 0.00000778\n",
      "Epoch: 13350/20000, Loss: 0.00002063\n",
      "Epoch: 13360/20000, Loss: 0.00000347\n",
      "Epoch: 13370/20000, Loss: 0.00000678\n",
      "Epoch: 13380/20000, Loss: 0.00002383\n",
      "Epoch: 13390/20000, Loss: 0.00022188\n",
      "Epoch: 13400/20000, Loss: 0.00004661\n",
      "Epoch: 13410/20000, Loss: 0.00007905\n",
      "Epoch: 13420/20000, Loss: 0.00005881\n",
      "Epoch: 13430/20000, Loss: 0.00007322\n",
      "Epoch: 13440/20000, Loss: 0.00000917\n",
      "Epoch: 13450/20000, Loss: 0.00000940\n",
      "Epoch: 13460/20000, Loss: 0.00001569\n",
      "Epoch: 13470/20000, Loss: 0.00004291\n",
      "Epoch: 13480/20000, Loss: 0.00016569\n",
      "Epoch: 13490/20000, Loss: 0.00015060\n",
      "Epoch: 13500/20000, Loss: 0.00010851\n",
      "Epoch: 13510/20000, Loss: 0.00027217\n",
      "Epoch: 13520/20000, Loss: 0.00009367\n",
      "Epoch: 13530/20000, Loss: 0.00002107\n",
      "Epoch: 13540/20000, Loss: 0.00001359\n",
      "Epoch: 13550/20000, Loss: 0.00000354\n",
      "Epoch: 13560/20000, Loss: 0.00000294\n",
      "Epoch: 13570/20000, Loss: 0.00000313\n",
      "Epoch: 13580/20000, Loss: 0.00001416\n",
      "Epoch: 13590/20000, Loss: 0.00024025\n",
      "Epoch: 13600/20000, Loss: 0.00002502\n",
      "Epoch: 13610/20000, Loss: 0.00004193\n",
      "Epoch: 13620/20000, Loss: 0.00000991\n",
      "Epoch: 13630/20000, Loss: 0.00000862\n",
      "Epoch: 13640/20000, Loss: 0.00000731\n",
      "Epoch: 13650/20000, Loss: 0.00000410\n",
      "Epoch: 13660/20000, Loss: 0.00000346\n",
      "Epoch: 13670/20000, Loss: 0.00001071\n",
      "Epoch: 13680/20000, Loss: 0.00010970\n",
      "Epoch: 13690/20000, Loss: 0.00005406\n",
      "Epoch: 13700/20000, Loss: 0.00038579\n",
      "Epoch: 13710/20000, Loss: 0.00041553\n",
      "Epoch: 13720/20000, Loss: 0.00005669\n",
      "Epoch: 13730/20000, Loss: 0.00002553\n",
      "Epoch: 13740/20000, Loss: 0.00001231\n",
      "Epoch: 13750/20000, Loss: 0.00000486\n",
      "Epoch: 13760/20000, Loss: 0.00000360\n",
      "Epoch: 13770/20000, Loss: 0.00000208\n",
      "Epoch: 13780/20000, Loss: 0.00000170\n",
      "Epoch: 13790/20000, Loss: 0.00000161\n",
      "Epoch: 13800/20000, Loss: 0.00000204\n",
      "Epoch: 13810/20000, Loss: 0.00003398\n",
      "Epoch: 13820/20000, Loss: 0.00060676\n",
      "Epoch: 13830/20000, Loss: 0.00022130\n",
      "Epoch: 13840/20000, Loss: 0.00003465\n",
      "Epoch: 13850/20000, Loss: 0.00000572\n",
      "Epoch: 13860/20000, Loss: 0.00000574\n",
      "Epoch: 13870/20000, Loss: 0.00000365\n",
      "Epoch: 13880/20000, Loss: 0.00000453\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 13890/20000, Loss: 0.00000287\n",
      "Epoch: 13900/20000, Loss: 0.00000796\n",
      "Epoch: 13910/20000, Loss: 0.00008822\n",
      "Epoch: 13920/20000, Loss: 0.00002181\n",
      "Epoch: 13930/20000, Loss: 0.00010332\n",
      "Epoch: 13940/20000, Loss: 0.00020586\n",
      "Epoch: 13950/20000, Loss: 0.00002324\n",
      "Epoch: 13960/20000, Loss: 0.00000653\n",
      "Epoch: 13970/20000, Loss: 0.00000291\n",
      "Epoch: 13980/20000, Loss: 0.00000226\n",
      "Epoch: 13990/20000, Loss: 0.00000342\n",
      "Epoch: 14000/20000, Loss: 0.00003003\n",
      "Epoch: 14010/20000, Loss: 0.00070633\n",
      "Epoch: 14020/20000, Loss: 0.00019671\n",
      "Epoch: 14030/20000, Loss: 0.00005450\n",
      "Epoch: 14040/20000, Loss: 0.00011254\n",
      "Epoch: 14050/20000, Loss: 0.00003878\n",
      "Epoch: 14060/20000, Loss: 0.00001619\n",
      "Epoch: 14070/20000, Loss: 0.00000864\n",
      "Epoch: 14080/20000, Loss: 0.00000413\n",
      "Epoch: 14090/20000, Loss: 0.00000257\n",
      "Epoch: 14100/20000, Loss: 0.00000278\n",
      "Epoch: 14110/20000, Loss: 0.00000276\n",
      "Epoch: 14120/20000, Loss: 0.00001885\n",
      "Epoch: 14130/20000, Loss: 0.00031587\n",
      "Epoch: 14140/20000, Loss: 0.00043138\n",
      "Epoch: 14150/20000, Loss: 0.00005600\n",
      "Epoch: 14160/20000, Loss: 0.00021709\n",
      "Epoch: 14170/20000, Loss: 0.00008089\n",
      "Epoch: 14180/20000, Loss: 0.00003693\n",
      "Epoch: 14190/20000, Loss: 0.00001753\n",
      "Epoch: 14200/20000, Loss: 0.00000504\n",
      "Epoch: 14210/20000, Loss: 0.00000230\n",
      "Epoch: 14220/20000, Loss: 0.00000328\n",
      "Epoch: 14230/20000, Loss: 0.00000301\n",
      "Epoch: 14240/20000, Loss: 0.00001709\n",
      "Epoch: 14250/20000, Loss: 0.00029799\n",
      "Epoch: 14260/20000, Loss: 0.00001007\n",
      "Epoch: 14270/20000, Loss: 0.00001093\n",
      "Epoch: 14280/20000, Loss: 0.00000724\n",
      "Epoch: 14290/20000, Loss: 0.00000265\n",
      "Epoch: 14300/20000, Loss: 0.00000445\n",
      "Epoch: 14310/20000, Loss: 0.00001664\n",
      "Epoch: 14320/20000, Loss: 0.00015279\n",
      "Epoch: 14330/20000, Loss: 0.00002573\n",
      "Epoch: 14340/20000, Loss: 0.00009543\n",
      "Epoch: 14350/20000, Loss: 0.00003239\n",
      "Epoch: 14360/20000, Loss: 0.00005038\n",
      "Epoch: 14370/20000, Loss: 0.00005230\n",
      "Epoch: 14380/20000, Loss: 0.00001860\n",
      "Epoch: 14390/20000, Loss: 0.00002019\n",
      "Epoch: 14400/20000, Loss: 0.00014222\n",
      "Epoch: 14410/20000, Loss: 0.00013741\n",
      "Epoch: 14420/20000, Loss: 0.00008944\n",
      "Epoch: 14430/20000, Loss: 0.00001081\n",
      "Epoch: 14440/20000, Loss: 0.00002132\n",
      "Epoch: 14450/20000, Loss: 0.00000350\n",
      "Epoch: 14460/20000, Loss: 0.00000545\n",
      "Epoch: 14470/20000, Loss: 0.00002318\n",
      "Epoch: 14480/20000, Loss: 0.00020113\n",
      "Epoch: 14490/20000, Loss: 0.00022779\n",
      "Epoch: 14500/20000, Loss: 0.00007782\n",
      "Epoch: 14510/20000, Loss: 0.00011278\n",
      "Epoch: 14520/20000, Loss: 0.00004287\n",
      "Epoch: 14530/20000, Loss: 0.00001056\n",
      "Epoch: 14540/20000, Loss: 0.00000383\n",
      "Epoch: 14550/20000, Loss: 0.00000200\n",
      "Epoch: 14560/20000, Loss: 0.00000186\n",
      "Epoch: 14570/20000, Loss: 0.00000160\n",
      "Epoch: 14580/20000, Loss: 0.00000185\n",
      "Epoch: 14590/20000, Loss: 0.00001243\n",
      "Epoch: 14600/20000, Loss: 0.00034101\n",
      "Epoch: 14610/20000, Loss: 0.00009798\n",
      "Epoch: 14620/20000, Loss: 0.00008741\n",
      "Epoch: 14630/20000, Loss: 0.00006760\n",
      "Epoch: 14640/20000, Loss: 0.00002339\n",
      "Epoch: 14650/20000, Loss: 0.00000823\n",
      "Epoch: 14660/20000, Loss: 0.00000432\n",
      "Epoch: 14670/20000, Loss: 0.00000272\n",
      "Epoch: 14680/20000, Loss: 0.00000289\n",
      "Epoch: 14690/20000, Loss: 0.00000264\n",
      "Epoch: 14700/20000, Loss: 0.00002601\n",
      "Epoch: 14710/20000, Loss: 0.00041955\n",
      "Epoch: 14720/20000, Loss: 0.00029325\n",
      "Epoch: 14730/20000, Loss: 0.00013204\n",
      "Epoch: 14740/20000, Loss: 0.00002017\n",
      "Epoch: 14750/20000, Loss: 0.00002528\n",
      "Epoch: 14760/20000, Loss: 0.00000458\n",
      "Epoch: 14770/20000, Loss: 0.00000244\n",
      "Epoch: 14780/20000, Loss: 0.00000365\n",
      "Epoch: 14790/20000, Loss: 0.00000461\n",
      "Epoch: 14800/20000, Loss: 0.00004270\n",
      "Epoch: 14810/20000, Loss: 0.00032367\n",
      "Epoch: 14820/20000, Loss: 0.00005715\n",
      "Epoch: 14830/20000, Loss: 0.00000583\n",
      "Epoch: 14840/20000, Loss: 0.00000680\n",
      "Epoch: 14850/20000, Loss: 0.00000816\n",
      "Epoch: 14860/20000, Loss: 0.00000479\n",
      "Epoch: 14870/20000, Loss: 0.00002149\n",
      "Epoch: 14880/20000, Loss: 0.00013285\n",
      "Epoch: 14890/20000, Loss: 0.00017020\n",
      "Epoch: 14900/20000, Loss: 0.00045857\n",
      "Epoch: 14910/20000, Loss: 0.00019763\n",
      "Epoch: 14920/20000, Loss: 0.00010198\n",
      "Epoch: 14930/20000, Loss: 0.00002391\n",
      "Epoch: 14940/20000, Loss: 0.00000918\n",
      "Epoch: 14950/20000, Loss: 0.00000630\n",
      "Epoch: 14960/20000, Loss: 0.00000275\n",
      "Epoch: 14970/20000, Loss: 0.00000447\n",
      "Epoch: 14980/20000, Loss: 0.00001697\n",
      "Epoch: 14990/20000, Loss: 0.00018096\n",
      "Epoch: 15000/20000, Loss: 0.00002655\n",
      "Epoch: 15010/20000, Loss: 0.00004204\n",
      "Epoch: 15020/20000, Loss: 0.00002540\n",
      "Epoch: 15030/20000, Loss: 0.00000656\n",
      "Epoch: 15040/20000, Loss: 0.00000399\n",
      "Epoch: 15050/20000, Loss: 0.00000167\n",
      "Epoch: 15060/20000, Loss: 0.00000420\n",
      "Epoch: 15070/20000, Loss: 0.00004859\n",
      "Epoch: 15080/20000, Loss: 0.00054127\n",
      "Epoch: 15090/20000, Loss: 0.00004543\n",
      "Epoch: 15100/20000, Loss: 0.00010393\n",
      "Epoch: 15110/20000, Loss: 0.00002799\n",
      "Epoch: 15120/20000, Loss: 0.00001054\n",
      "Epoch: 15130/20000, Loss: 0.00000590\n",
      "Epoch: 15140/20000, Loss: 0.00000396\n",
      "Epoch: 15150/20000, Loss: 0.00000190\n",
      "Epoch: 15160/20000, Loss: 0.00000322\n",
      "Epoch: 15170/20000, Loss: 0.00005424\n",
      "Epoch: 15180/20000, Loss: 0.00065247\n",
      "Epoch: 15190/20000, Loss: 0.00011433\n",
      "Epoch: 15200/20000, Loss: 0.00001533\n",
      "Epoch: 15210/20000, Loss: 0.00003305\n",
      "Epoch: 15220/20000, Loss: 0.00001310\n",
      "Epoch: 15230/20000, Loss: 0.00000664\n",
      "Epoch: 15240/20000, Loss: 0.00012284\n",
      "Epoch: 15250/20000, Loss: 0.00001538\n",
      "Epoch: 15260/20000, Loss: 0.00004079\n",
      "Epoch: 15270/20000, Loss: 0.00002435\n",
      "Epoch: 15280/20000, Loss: 0.00000779\n",
      "Epoch: 15290/20000, Loss: 0.00000434\n",
      "Epoch: 15300/20000, Loss: 0.00000581\n",
      "Epoch: 15310/20000, Loss: 0.00007593\n",
      "Epoch: 15320/20000, Loss: 0.00026869\n",
      "Epoch: 15330/20000, Loss: 0.00012875\n",
      "Epoch: 15340/20000, Loss: 0.00003304\n",
      "Epoch: 15350/20000, Loss: 0.00003289\n",
      "Epoch: 15360/20000, Loss: 0.00003285\n",
      "Epoch: 15370/20000, Loss: 0.00000310\n",
      "Epoch: 15380/20000, Loss: 0.00000873\n",
      "Epoch: 15390/20000, Loss: 0.00000756\n",
      "Epoch: 15400/20000, Loss: 0.00005426\n",
      "Epoch: 15410/20000, Loss: 0.00007856\n",
      "Epoch: 15420/20000, Loss: 0.00044408\n",
      "Epoch: 15430/20000, Loss: 0.00029497\n",
      "Epoch: 15440/20000, Loss: 0.00021823\n",
      "Epoch: 15450/20000, Loss: 0.00153937\n",
      "Epoch: 15460/20000, Loss: 0.00098147\n",
      "Epoch: 15470/20000, Loss: 0.00041887\n",
      "Epoch: 15480/20000, Loss: 0.00014751\n",
      "Epoch: 15490/20000, Loss: 0.00004658\n",
      "Epoch: 15500/20000, Loss: 0.00002101\n",
      "Epoch: 15510/20000, Loss: 0.00001127\n",
      "Epoch: 15520/20000, Loss: 0.00000669\n",
      "Epoch: 15530/20000, Loss: 0.00000500\n",
      "Epoch: 15540/20000, Loss: 0.00000448\n",
      "Epoch: 15550/20000, Loss: 0.00000419\n",
      "Epoch: 15560/20000, Loss: 0.00000401\n",
      "Epoch: 15570/20000, Loss: 0.00000385\n",
      "Epoch: 15580/20000, Loss: 0.00000371\n",
      "Epoch: 15590/20000, Loss: 0.00000356\n",
      "Epoch: 15600/20000, Loss: 0.00000340\n",
      "Epoch: 15610/20000, Loss: 0.00000324\n",
      "Epoch: 15620/20000, Loss: 0.00000307\n",
      "Epoch: 15630/20000, Loss: 0.00000297\n",
      "Epoch: 15640/20000, Loss: 0.00000789\n",
      "Epoch: 15650/20000, Loss: 0.00000977\n",
      "Epoch: 15660/20000, Loss: 0.00000553\n",
      "Epoch: 15670/20000, Loss: 0.00001103\n",
      "Epoch: 15680/20000, Loss: 0.00004289\n",
      "Epoch: 15690/20000, Loss: 0.00003713\n",
      "Epoch: 15700/20000, Loss: 0.00000531\n",
      "Epoch: 15710/20000, Loss: 0.00001528\n",
      "Epoch: 15720/20000, Loss: 0.00001365\n",
      "Epoch: 15730/20000, Loss: 0.00002156\n",
      "Epoch: 15740/20000, Loss: 0.00007311\n",
      "Epoch: 15750/20000, Loss: 0.00003956\n",
      "Epoch: 15760/20000, Loss: 0.00001181\n",
      "Epoch: 15770/20000, Loss: 0.00001769\n",
      "Epoch: 15780/20000, Loss: 0.00000996\n",
      "Epoch: 15790/20000, Loss: 0.00002257\n",
      "Epoch: 15800/20000, Loss: 0.00012363\n",
      "Epoch: 15810/20000, Loss: 0.00004518\n",
      "Epoch: 15820/20000, Loss: 0.00004758\n",
      "Epoch: 15830/20000, Loss: 0.00000582\n",
      "Epoch: 15840/20000, Loss: 0.00001047\n",
      "Epoch: 15850/20000, Loss: 0.00000208\n",
      "Epoch: 15860/20000, Loss: 0.00000193\n",
      "Epoch: 15870/20000, Loss: 0.00000619\n",
      "Epoch: 15880/20000, Loss: 0.00016005\n",
      "Epoch: 15890/20000, Loss: 0.00006547\n",
      "Epoch: 15900/20000, Loss: 0.00001535\n",
      "Epoch: 15910/20000, Loss: 0.00002016\n",
      "Epoch: 15920/20000, Loss: 0.00001532\n",
      "Epoch: 15930/20000, Loss: 0.00000779\n",
      "Epoch: 15940/20000, Loss: 0.00000378\n",
      "Epoch: 15950/20000, Loss: 0.00000594\n",
      "Epoch: 15960/20000, Loss: 0.00000324\n",
      "Epoch: 15970/20000, Loss: 0.00000166\n",
      "Epoch: 15980/20000, Loss: 0.00000197\n",
      "Epoch: 15990/20000, Loss: 0.00000314\n",
      "Epoch: 16000/20000, Loss: 0.00003886\n",
      "Epoch: 16010/20000, Loss: 0.00055752\n",
      "Epoch: 16020/20000, Loss: 0.00019022\n",
      "Epoch: 16030/20000, Loss: 0.00002324\n",
      "Epoch: 16040/20000, Loss: 0.00000602\n",
      "Epoch: 16050/20000, Loss: 0.00000907\n",
      "Epoch: 16060/20000, Loss: 0.00000565\n",
      "Epoch: 16070/20000, Loss: 0.00000522\n",
      "Epoch: 16080/20000, Loss: 0.00004685\n",
      "Epoch: 16090/20000, Loss: 0.00012615\n",
      "Epoch: 16100/20000, Loss: 0.00003311\n",
      "Epoch: 16110/20000, Loss: 0.00002248\n",
      "Epoch: 16120/20000, Loss: 0.00001051\n",
      "Epoch: 16130/20000, Loss: 0.00000661\n",
      "Epoch: 16140/20000, Loss: 0.00002746\n",
      "Epoch: 16150/20000, Loss: 0.00049194\n",
      "Epoch: 16160/20000, Loss: 0.00014492\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 16170/20000, Loss: 0.00009196\n",
      "Epoch: 16180/20000, Loss: 0.00003491\n",
      "Epoch: 16190/20000, Loss: 0.00001925\n",
      "Epoch: 16200/20000, Loss: 0.00002159\n",
      "Epoch: 16210/20000, Loss: 0.00005145\n",
      "Epoch: 16220/20000, Loss: 0.00002343\n",
      "Epoch: 16230/20000, Loss: 0.00000514\n",
      "Epoch: 16240/20000, Loss: 0.00001314\n",
      "Epoch: 16250/20000, Loss: 0.00004070\n",
      "Epoch: 16260/20000, Loss: 0.00032666\n",
      "Epoch: 16270/20000, Loss: 0.00001186\n",
      "Epoch: 16280/20000, Loss: 0.00002622\n",
      "Epoch: 16290/20000, Loss: 0.00014922\n",
      "Epoch: 16300/20000, Loss: 0.00005319\n",
      "Epoch: 16310/20000, Loss: 0.00001230\n",
      "Epoch: 16320/20000, Loss: 0.00000689\n",
      "Epoch: 16330/20000, Loss: 0.00000828\n",
      "Epoch: 16340/20000, Loss: 0.00000474\n",
      "Epoch: 16350/20000, Loss: 0.00004107\n",
      "Epoch: 16360/20000, Loss: 0.00074031\n",
      "Epoch: 16370/20000, Loss: 0.00027352\n",
      "Epoch: 16380/20000, Loss: 0.00008615\n",
      "Epoch: 16390/20000, Loss: 0.00001486\n",
      "Epoch: 16400/20000, Loss: 0.00002694\n",
      "Epoch: 16410/20000, Loss: 0.00009816\n",
      "Epoch: 16420/20000, Loss: 0.00003547\n",
      "Epoch: 16430/20000, Loss: 0.00000707\n",
      "Epoch: 16440/20000, Loss: 0.00001062\n",
      "Epoch: 16450/20000, Loss: 0.00000553\n",
      "Epoch: 16460/20000, Loss: 0.00000445\n",
      "Epoch: 16470/20000, Loss: 0.00000257\n",
      "Epoch: 16480/20000, Loss: 0.00001750\n",
      "Epoch: 16490/20000, Loss: 0.00022326\n",
      "Epoch: 16500/20000, Loss: 0.00071921\n",
      "Epoch: 16510/20000, Loss: 0.00038157\n",
      "Epoch: 16520/20000, Loss: 0.00003850\n",
      "Epoch: 16530/20000, Loss: 0.00003860\n",
      "Epoch: 16540/20000, Loss: 0.00000810\n",
      "Epoch: 16550/20000, Loss: 0.00000691\n",
      "Epoch: 16560/20000, Loss: 0.00000263\n",
      "Epoch: 16570/20000, Loss: 0.00000206\n",
      "Epoch: 16580/20000, Loss: 0.00000237\n",
      "Epoch: 16590/20000, Loss: 0.00000694\n",
      "Epoch: 16600/20000, Loss: 0.00001619\n",
      "Epoch: 16610/20000, Loss: 0.00011183\n",
      "Epoch: 16620/20000, Loss: 0.00026386\n",
      "Epoch: 16630/20000, Loss: 0.00006080\n",
      "Epoch: 16640/20000, Loss: 0.00000872\n",
      "Epoch: 16650/20000, Loss: 0.00000450\n",
      "Epoch: 16660/20000, Loss: 0.00000418\n",
      "Epoch: 16670/20000, Loss: 0.00000437\n",
      "Epoch: 16680/20000, Loss: 0.00000561\n",
      "Epoch: 16690/20000, Loss: 0.00004430\n",
      "Epoch: 16700/20000, Loss: 0.00066165\n",
      "Epoch: 16710/20000, Loss: 0.00022612\n",
      "Epoch: 16720/20000, Loss: 0.00009818\n",
      "Epoch: 16730/20000, Loss: 0.00002867\n",
      "Epoch: 16740/20000, Loss: 0.00001240\n",
      "Epoch: 16750/20000, Loss: 0.00002440\n",
      "Epoch: 16760/20000, Loss: 0.00017100\n",
      "Epoch: 16770/20000, Loss: 0.00004517\n",
      "Epoch: 16780/20000, Loss: 0.00001238\n",
      "Epoch: 16790/20000, Loss: 0.00000547\n",
      "Epoch: 16800/20000, Loss: 0.00000795\n",
      "Epoch: 16810/20000, Loss: 0.00004360\n",
      "Epoch: 16820/20000, Loss: 0.00066264\n",
      "Epoch: 16830/20000, Loss: 0.00023557\n",
      "Epoch: 16840/20000, Loss: 0.00004964\n",
      "Epoch: 16850/20000, Loss: 0.00000444\n",
      "Epoch: 16860/20000, Loss: 0.00000459\n",
      "Epoch: 16870/20000, Loss: 0.00005531\n",
      "Epoch: 16880/20000, Loss: 0.00010357\n",
      "Epoch: 16890/20000, Loss: 0.00003512\n",
      "Epoch: 16900/20000, Loss: 0.00000705\n",
      "Epoch: 16910/20000, Loss: 0.00000408\n",
      "Epoch: 16920/20000, Loss: 0.00000259\n",
      "Epoch: 16930/20000, Loss: 0.00000848\n",
      "Epoch: 16940/20000, Loss: 0.00001251\n",
      "Epoch: 16950/20000, Loss: 0.00044702\n",
      "Epoch: 16960/20000, Loss: 0.00014794\n",
      "Epoch: 16970/20000, Loss: 0.00014580\n",
      "Epoch: 16980/20000, Loss: 0.00001355\n",
      "Epoch: 16990/20000, Loss: 0.00001209\n",
      "Epoch: 17000/20000, Loss: 0.00001218\n",
      "Epoch: 17010/20000, Loss: 0.00003037\n",
      "Epoch: 17020/20000, Loss: 0.00014027\n",
      "Epoch: 17030/20000, Loss: 0.00002583\n",
      "Epoch: 17040/20000, Loss: 0.00000412\n",
      "Epoch: 17050/20000, Loss: 0.00000979\n",
      "Epoch: 17060/20000, Loss: 0.00000709\n",
      "Epoch: 17070/20000, Loss: 0.00000279\n",
      "Epoch: 17080/20000, Loss: 0.00000260\n",
      "Epoch: 17090/20000, Loss: 0.00000847\n",
      "Epoch: 17100/20000, Loss: 0.00034125\n",
      "Epoch: 17110/20000, Loss: 0.00018744\n",
      "Epoch: 17120/20000, Loss: 0.00014746\n",
      "Epoch: 17130/20000, Loss: 0.00004854\n",
      "Epoch: 17140/20000, Loss: 0.00001479\n",
      "Epoch: 17150/20000, Loss: 0.00004145\n",
      "Epoch: 17160/20000, Loss: 0.00012775\n",
      "Epoch: 17170/20000, Loss: 0.00002697\n",
      "Epoch: 17180/20000, Loss: 0.00000664\n",
      "Epoch: 17190/20000, Loss: 0.00001170\n",
      "Epoch: 17200/20000, Loss: 0.00000210\n",
      "Epoch: 17210/20000, Loss: 0.00000499\n",
      "Epoch: 17220/20000, Loss: 0.00002095\n",
      "Epoch: 17230/20000, Loss: 0.00018068\n",
      "Epoch: 17240/20000, Loss: 0.00005792\n",
      "Epoch: 17250/20000, Loss: 0.00004606\n",
      "Epoch: 17260/20000, Loss: 0.00001881\n",
      "Epoch: 17270/20000, Loss: 0.00001459\n",
      "Epoch: 17280/20000, Loss: 0.00000280\n",
      "Epoch: 17290/20000, Loss: 0.00000352\n",
      "Epoch: 17300/20000, Loss: 0.00000664\n",
      "Epoch: 17310/20000, Loss: 0.00019637\n",
      "Epoch: 17320/20000, Loss: 0.00012039\n",
      "Epoch: 17330/20000, Loss: 0.00009640\n",
      "Epoch: 17340/20000, Loss: 0.00005915\n",
      "Epoch: 17350/20000, Loss: 0.00000470\n",
      "Epoch: 17360/20000, Loss: 0.00001561\n",
      "Epoch: 17370/20000, Loss: 0.00002350\n",
      "Epoch: 17380/20000, Loss: 0.00020181\n",
      "Epoch: 17390/20000, Loss: 0.00002565\n",
      "Epoch: 17400/20000, Loss: 0.00001455\n",
      "Epoch: 17410/20000, Loss: 0.00001680\n",
      "Epoch: 17420/20000, Loss: 0.00000673\n",
      "Epoch: 17430/20000, Loss: 0.00000730\n",
      "Epoch: 17440/20000, Loss: 0.00001804\n",
      "Epoch: 17450/20000, Loss: 0.00014207\n",
      "Epoch: 17460/20000, Loss: 0.00019427\n",
      "Epoch: 17470/20000, Loss: 0.00008994\n",
      "Epoch: 17480/20000, Loss: 0.00003023\n",
      "Epoch: 17490/20000, Loss: 0.00000575\n",
      "Epoch: 17500/20000, Loss: 0.00000527\n",
      "Epoch: 17510/20000, Loss: 0.00001132\n",
      "Epoch: 17520/20000, Loss: 0.00036549\n",
      "Epoch: 17530/20000, Loss: 0.00028384\n",
      "Epoch: 17540/20000, Loss: 0.00007250\n",
      "Epoch: 17550/20000, Loss: 0.00002823\n",
      "Epoch: 17560/20000, Loss: 0.00000655\n",
      "Epoch: 17570/20000, Loss: 0.00000510\n",
      "Epoch: 17580/20000, Loss: 0.00001011\n",
      "Epoch: 17590/20000, Loss: 0.00019816\n",
      "Epoch: 17600/20000, Loss: 0.00008874\n",
      "Epoch: 17610/20000, Loss: 0.00002038\n",
      "Epoch: 17620/20000, Loss: 0.00003070\n",
      "Epoch: 17630/20000, Loss: 0.00002083\n",
      "Epoch: 17640/20000, Loss: 0.00000892\n",
      "Epoch: 17650/20000, Loss: 0.00000407\n",
      "Epoch: 17660/20000, Loss: 0.00000348\n",
      "Epoch: 17670/20000, Loss: 0.00000323\n",
      "Epoch: 17680/20000, Loss: 0.00001687\n",
      "Epoch: 17690/20000, Loss: 0.00015943\n",
      "Epoch: 17700/20000, Loss: 0.00008884\n",
      "Epoch: 17710/20000, Loss: 0.00013949\n",
      "Epoch: 17720/20000, Loss: 0.00001353\n",
      "Epoch: 17730/20000, Loss: 0.00001757\n",
      "Epoch: 17740/20000, Loss: 0.00000314\n",
      "Epoch: 17750/20000, Loss: 0.00001060\n",
      "Epoch: 17760/20000, Loss: 0.00007398\n",
      "Epoch: 17770/20000, Loss: 0.00045532\n",
      "Epoch: 17780/20000, Loss: 0.00013635\n",
      "Epoch: 17790/20000, Loss: 0.00005271\n",
      "Epoch: 17800/20000, Loss: 0.00001918\n",
      "Epoch: 17810/20000, Loss: 0.00000635\n",
      "Epoch: 17820/20000, Loss: 0.00002808\n",
      "Epoch: 17830/20000, Loss: 0.00016428\n",
      "Epoch: 17840/20000, Loss: 0.00004102\n",
      "Epoch: 17850/20000, Loss: 0.00001431\n",
      "Epoch: 17860/20000, Loss: 0.00007355\n",
      "Epoch: 17870/20000, Loss: 0.00034489\n",
      "Epoch: 17880/20000, Loss: 0.00008624\n",
      "Epoch: 17890/20000, Loss: 0.00003421\n",
      "Epoch: 17900/20000, Loss: 0.00000661\n",
      "Epoch: 17910/20000, Loss: 0.00000839\n",
      "Epoch: 17920/20000, Loss: 0.00002039\n",
      "Epoch: 17930/20000, Loss: 0.00012709\n",
      "Epoch: 17940/20000, Loss: 0.00011006\n",
      "Epoch: 17950/20000, Loss: 0.00004706\n",
      "Epoch: 17960/20000, Loss: 0.00002055\n",
      "Epoch: 17970/20000, Loss: 0.00001190\n",
      "Epoch: 17980/20000, Loss: 0.00007585\n",
      "Epoch: 17990/20000, Loss: 0.00058491\n",
      "Epoch: 18000/20000, Loss: 0.00016316\n",
      "Epoch: 18010/20000, Loss: 0.00001874\n",
      "Epoch: 18020/20000, Loss: 0.00001903\n",
      "Epoch: 18030/20000, Loss: 0.00001756\n",
      "Epoch: 18040/20000, Loss: 0.00000904\n",
      "Epoch: 18050/20000, Loss: 0.00001104\n",
      "Epoch: 18060/20000, Loss: 0.00000531\n",
      "Epoch: 18070/20000, Loss: 0.00001491\n",
      "Epoch: 18080/20000, Loss: 0.00025571\n",
      "Epoch: 18090/20000, Loss: 0.00017557\n",
      "Epoch: 18100/20000, Loss: 0.00008555\n",
      "Epoch: 18110/20000, Loss: 0.00003469\n",
      "Epoch: 18120/20000, Loss: 0.00001675\n",
      "Epoch: 18130/20000, Loss: 0.00000649\n",
      "Epoch: 18140/20000, Loss: 0.00000544\n",
      "Epoch: 18150/20000, Loss: 0.00000842\n",
      "Epoch: 18160/20000, Loss: 0.00025154\n",
      "Epoch: 18170/20000, Loss: 0.00002096\n",
      "Epoch: 18180/20000, Loss: 0.00015978\n",
      "Epoch: 18190/20000, Loss: 0.00002334\n",
      "Epoch: 18200/20000, Loss: 0.00001195\n",
      "Epoch: 18210/20000, Loss: 0.00001153\n",
      "Epoch: 18220/20000, Loss: 0.00000547\n",
      "Epoch: 18230/20000, Loss: 0.00000885\n",
      "Epoch: 18240/20000, Loss: 0.00004164\n",
      "Epoch: 18250/20000, Loss: 0.00008042\n",
      "Epoch: 18260/20000, Loss: 0.00001326\n",
      "Epoch: 18270/20000, Loss: 0.00001583\n",
      "Epoch: 18280/20000, Loss: 0.00000564\n",
      "Epoch: 18290/20000, Loss: 0.00000502\n",
      "Epoch: 18300/20000, Loss: 0.00003917\n",
      "Epoch: 18310/20000, Loss: 0.00063489\n",
      "Epoch: 18320/20000, Loss: 0.00032978\n",
      "Epoch: 18330/20000, Loss: 0.00008875\n",
      "Epoch: 18340/20000, Loss: 0.00000920\n",
      "Epoch: 18350/20000, Loss: 0.00001505\n",
      "Epoch: 18360/20000, Loss: 0.00000885\n",
      "Epoch: 18370/20000, Loss: 0.00000542\n",
      "Epoch: 18380/20000, Loss: 0.00005606\n",
      "Epoch: 18390/20000, Loss: 0.00012444\n",
      "Epoch: 18400/20000, Loss: 0.00001005\n",
      "Epoch: 18410/20000, Loss: 0.00002599\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 18420/20000, Loss: 0.00002012\n",
      "Epoch: 18430/20000, Loss: 0.00000618\n",
      "Epoch: 18440/20000, Loss: 0.00000392\n",
      "Epoch: 18450/20000, Loss: 0.00000302\n",
      "Epoch: 18460/20000, Loss: 0.00005721\n",
      "Epoch: 18470/20000, Loss: 0.00080466\n",
      "Epoch: 18480/20000, Loss: 0.00003270\n",
      "Epoch: 18490/20000, Loss: 0.00008032\n",
      "Epoch: 18500/20000, Loss: 0.00002646\n",
      "Epoch: 18510/20000, Loss: 0.00001027\n",
      "Epoch: 18520/20000, Loss: 0.00000539\n",
      "Epoch: 18530/20000, Loss: 0.00000548\n",
      "Epoch: 18540/20000, Loss: 0.00000505\n",
      "Epoch: 18550/20000, Loss: 0.00000609\n",
      "Epoch: 18560/20000, Loss: 0.00006897\n",
      "Epoch: 18570/20000, Loss: 0.00005966\n",
      "Epoch: 18580/20000, Loss: 0.00003741\n",
      "Epoch: 18590/20000, Loss: 0.00001742\n",
      "Epoch: 18600/20000, Loss: 0.00001322\n",
      "Epoch: 18610/20000, Loss: 0.00000338\n",
      "Epoch: 18620/20000, Loss: 0.00000840\n",
      "Epoch: 18630/20000, Loss: 0.00002530\n",
      "Epoch: 18640/20000, Loss: 0.00061903\n",
      "Epoch: 18650/20000, Loss: 0.00024655\n",
      "Epoch: 18660/20000, Loss: 0.00010644\n",
      "Epoch: 18670/20000, Loss: 0.00001687\n",
      "Epoch: 18680/20000, Loss: 0.00000326\n",
      "Epoch: 18690/20000, Loss: 0.00000282\n",
      "Epoch: 18700/20000, Loss: 0.00002826\n",
      "Epoch: 18710/20000, Loss: 0.00030408\n",
      "Epoch: 18720/20000, Loss: 0.00008912\n",
      "Epoch: 18730/20000, Loss: 0.00001450\n",
      "Epoch: 18740/20000, Loss: 0.00000470\n",
      "Epoch: 18750/20000, Loss: 0.00000425\n",
      "Epoch: 18760/20000, Loss: 0.00000637\n",
      "Epoch: 18770/20000, Loss: 0.00002481\n",
      "Epoch: 18780/20000, Loss: 0.00044226\n",
      "Epoch: 18790/20000, Loss: 0.00013375\n",
      "Epoch: 18800/20000, Loss: 0.00029338\n",
      "Epoch: 18810/20000, Loss: 0.00011887\n",
      "Epoch: 18820/20000, Loss: 0.00003521\n",
      "Epoch: 18830/20000, Loss: 0.00002321\n",
      "Epoch: 18840/20000, Loss: 0.00001119\n",
      "Epoch: 18850/20000, Loss: 0.00000904\n",
      "Epoch: 18860/20000, Loss: 0.00002202\n",
      "Epoch: 18870/20000, Loss: 0.00029852\n",
      "Epoch: 18880/20000, Loss: 0.00004338\n",
      "Epoch: 18890/20000, Loss: 0.00002256\n",
      "Epoch: 18900/20000, Loss: 0.00001165\n",
      "Epoch: 18910/20000, Loss: 0.00000948\n",
      "Epoch: 18920/20000, Loss: 0.00000619\n",
      "Epoch: 18930/20000, Loss: 0.00000872\n",
      "Epoch: 18940/20000, Loss: 0.00002727\n",
      "Epoch: 18950/20000, Loss: 0.00037256\n",
      "Epoch: 18960/20000, Loss: 0.00006350\n",
      "Epoch: 18970/20000, Loss: 0.00003229\n",
      "Epoch: 18980/20000, Loss: 0.00002056\n",
      "Epoch: 18990/20000, Loss: 0.00027139\n",
      "Epoch: 19000/20000, Loss: 0.00013094\n",
      "Epoch: 19010/20000, Loss: 0.00005523\n",
      "Epoch: 19020/20000, Loss: 0.00001001\n",
      "Epoch: 19030/20000, Loss: 0.00000684\n",
      "Epoch: 19040/20000, Loss: 0.00001147\n",
      "Epoch: 19050/20000, Loss: 0.00018614\n",
      "Epoch: 19060/20000, Loss: 0.00004528\n",
      "Epoch: 19070/20000, Loss: 0.00002467\n",
      "Epoch: 19080/20000, Loss: 0.00003772\n",
      "Epoch: 19090/20000, Loss: 0.00002124\n",
      "Epoch: 19100/20000, Loss: 0.00000911\n",
      "Epoch: 19110/20000, Loss: 0.00000508\n",
      "Epoch: 19120/20000, Loss: 0.00001040\n",
      "Epoch: 19130/20000, Loss: 0.00000678\n",
      "Epoch: 19140/20000, Loss: 0.00003911\n",
      "Epoch: 19150/20000, Loss: 0.00015766\n",
      "Epoch: 19160/20000, Loss: 0.00011236\n",
      "Epoch: 19170/20000, Loss: 0.00004952\n",
      "Epoch: 19180/20000, Loss: 0.00003108\n",
      "Epoch: 19190/20000, Loss: 0.00001132\n",
      "Epoch: 19200/20000, Loss: 0.00000728\n",
      "Epoch: 19210/20000, Loss: 0.00000652\n",
      "Epoch: 19220/20000, Loss: 0.00001336\n",
      "Epoch: 19230/20000, Loss: 0.00074078\n",
      "Epoch: 19240/20000, Loss: 0.00045867\n",
      "Epoch: 19250/20000, Loss: 0.00003442\n",
      "Epoch: 19260/20000, Loss: 0.00006288\n",
      "Epoch: 19270/20000, Loss: 0.00000880\n",
      "Epoch: 19280/20000, Loss: 0.00000676\n",
      "Epoch: 19290/20000, Loss: 0.00000561\n",
      "Epoch: 19300/20000, Loss: 0.00000522\n",
      "Epoch: 19310/20000, Loss: 0.00000331\n",
      "Epoch: 19320/20000, Loss: 0.00000736\n",
      "Epoch: 19330/20000, Loss: 0.00001097\n",
      "Epoch: 19340/20000, Loss: 0.00009700\n",
      "Epoch: 19350/20000, Loss: 0.00004796\n",
      "Epoch: 19360/20000, Loss: 0.00006790\n",
      "Epoch: 19370/20000, Loss: 0.00004505\n",
      "Epoch: 19380/20000, Loss: 0.00000639\n",
      "Epoch: 19390/20000, Loss: 0.00000466\n",
      "Epoch: 19400/20000, Loss: 0.00000682\n",
      "Epoch: 19410/20000, Loss: 0.00017506\n",
      "Epoch: 19420/20000, Loss: 0.00005026\n",
      "Epoch: 19430/20000, Loss: 0.00004068\n",
      "Epoch: 19440/20000, Loss: 0.00005266\n",
      "Epoch: 19450/20000, Loss: 0.00001712\n",
      "Epoch: 19460/20000, Loss: 0.00000488\n",
      "Epoch: 19470/20000, Loss: 0.00000300\n",
      "Epoch: 19480/20000, Loss: 0.00000352\n",
      "Epoch: 19490/20000, Loss: 0.00000353\n",
      "Epoch: 19500/20000, Loss: 0.00000275\n",
      "Epoch: 19510/20000, Loss: 0.00000212\n",
      "Epoch: 19520/20000, Loss: 0.00000519\n",
      "Epoch: 19530/20000, Loss: 0.00006532\n",
      "Epoch: 19540/20000, Loss: 0.00039284\n",
      "Epoch: 19550/20000, Loss: 0.00035650\n",
      "Epoch: 19560/20000, Loss: 0.00053046\n",
      "Epoch: 19570/20000, Loss: 0.00017939\n",
      "Epoch: 19580/20000, Loss: 0.00079502\n",
      "Epoch: 19590/20000, Loss: 0.00016095\n",
      "Epoch: 19600/20000, Loss: 0.00007799\n",
      "Epoch: 19610/20000, Loss: 0.00002278\n",
      "Epoch: 19620/20000, Loss: 0.00001210\n",
      "Epoch: 19630/20000, Loss: 0.00000795\n",
      "Epoch: 19640/20000, Loss: 0.00000660\n",
      "Epoch: 19650/20000, Loss: 0.00000630\n",
      "Epoch: 19660/20000, Loss: 0.00000616\n",
      "Epoch: 19670/20000, Loss: 0.00002352\n",
      "Epoch: 19680/20000, Loss: 0.00045887\n",
      "Epoch: 19690/20000, Loss: 0.00013603\n",
      "Epoch: 19700/20000, Loss: 0.00001703\n",
      "Epoch: 19710/20000, Loss: 0.00000809\n",
      "Epoch: 19720/20000, Loss: 0.00000754\n",
      "Epoch: 19730/20000, Loss: 0.00000525\n",
      "Epoch: 19740/20000, Loss: 0.00000435\n",
      "Epoch: 19750/20000, Loss: 0.00000572\n",
      "Epoch: 19760/20000, Loss: 0.00000965\n",
      "Epoch: 19770/20000, Loss: 0.00001525\n",
      "Epoch: 19780/20000, Loss: 0.00010944\n",
      "Epoch: 19790/20000, Loss: 0.00017967\n",
      "Epoch: 19800/20000, Loss: 0.00008447\n",
      "Epoch: 19810/20000, Loss: 0.00003507\n",
      "Epoch: 19820/20000, Loss: 0.00001248\n",
      "Epoch: 19830/20000, Loss: 0.00000542\n",
      "Epoch: 19840/20000, Loss: 0.00000705\n",
      "Epoch: 19850/20000, Loss: 0.00001702\n",
      "Epoch: 19860/20000, Loss: 0.00008732\n",
      "Epoch: 19870/20000, Loss: 0.00009413\n",
      "Epoch: 19880/20000, Loss: 0.00067151\n",
      "Epoch: 19890/20000, Loss: 0.00033609\n",
      "Epoch: 19900/20000, Loss: 0.00012649\n",
      "Epoch: 19910/20000, Loss: 0.00003655\n",
      "Epoch: 19920/20000, Loss: 0.00001892\n",
      "Epoch: 19930/20000, Loss: 0.00001017\n",
      "Epoch: 19940/20000, Loss: 0.00000612\n",
      "Epoch: 19950/20000, Loss: 0.00000465\n",
      "Epoch: 19960/20000, Loss: 0.00000520\n",
      "Epoch: 19970/20000, Loss: 0.00000869\n",
      "Epoch: 19980/20000, Loss: 0.00002197\n",
      "Epoch: 19990/20000, Loss: 0.00037537\n",
      "Epoch: 20000/20000, Loss: 0.00006984\n"
     ]
    }
   ],
   "source": [
    "# Create RNN instance\n",
    "rnn = RNN(input_size, hidden_size, output_size)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(rnn.parameters(), lr=0.01)\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Set initial hidden state\n",
    "    hidden = torch.zeros(1, batch_size, hidden_size)\n",
    "\n",
    "    # Forward pass\n",
    "    output, hidden = rnn(input_tensor, hidden)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch+1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch+1}/{num_epochs}, Loss: {loss.item():.8f}')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2628d8af",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 20, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 20, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8dad17a4",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    hidden_pred = torch.zeros(1, batch_size, hidden_size)\n",
    "    prediction, _ = rnn(test_tensor, hidden_pred)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(19):\n",
    "        hidden_pred = torch.zeros(1, batch_size, hidden_size)\n",
    "        prediction, _ = rnn(prediction, hidden_pred)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63a952fd",
   "metadata": {},
   "source": [
    "### Four different types of error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ba2cbc57",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exact Solution\n",
    "u_1 = u\n",
    "u_test = u_1.T\n",
    "u_test_full = u_test[80:100, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b89f888c",
   "metadata": {},
   "outputs": [],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e0cd539a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([20, 256])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extrapolation\n",
    "\n",
    "k1 = ( prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "u_test_full_tensor.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07c53e0e",
   "metadata": {},
   "source": [
    "### L^2 norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "5b553b0e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.41547940429673846 %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item(), \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2160f58a",
   "metadata": {},
   "source": [
    "### Max absolute norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "73eacec3",
   "metadata": {},
   "outputs": [],
   "source": [
    "R_abs = torch.max(torch.abs(prediction_tensor - u_test_full))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "f8adc948",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.5943, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "917c0810",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "efe8801b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.5845210208897824\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "# a = torch.tensor(a)\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6df02476",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ee135992",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  tensor(0.2662, dtype=torch.float64) %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test, \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d16b7cd1",
   "metadata": {},
   "source": [
    "### Contour plot for PINN (80 percent) and (20 percentage lem prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "12387788",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([20, 256])\n"
     ]
    }
   ],
   "source": [
    "print(prediction_tensor.shape)\n",
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "input_tensor = torch.squeeze(input_tensor)\n",
    "\n",
    "conc_u = torch.squeeze(input_tensor)\n",
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "x1 = np.linspace(-1, 1, 256)\n",
    "t1 = np.linspace(0, 1, 99)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a8af10c",
   "metadata": {},
   "source": [
    "### Snapshot time plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "246a88bc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u_1[:, 83].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 0.83}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-1, 0, 1])\n",
    "ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('RNN_0.83_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.83_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "71dd6511",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-2, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u_1[:, -2].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 0.98}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-1, 0, 1])\n",
    "ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('RNN_0.98_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.98_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9de56fd",
   "metadata": {},
   "source": [
    "### Contour plot where 80 percent for PINN solution and 20 percent for RNN solution"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13d05aa0",
   "metadata": {},
   "source": [
    "### Exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "faa4fb18",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = u_1.T\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-1, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='coolwarm')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u(x, t)$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "51e7e552",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-1, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='coolwarm')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u(x, t)$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=0.8, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_RNN_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
